在php中包含文件时使用data:// text / plain

时间:2015-03-02 21:34:41

标签: php

我试图require_once()一串PHP代码。它运行良好,除了使用命名空间类时,这总是会导致致命错误。我不确定我做错了什么:

require_once('data://text/plain, <?php namespace Foo\Bar; use \Somestuff; class Baz {...}

错误消息也在包含的代码中间开始输出似乎很重要:

Fatal error: Namespace declaration statement has to be the very first statement in the script in data://text/plain, $prop; } throw new InvalidArgumentException('

代码&#34; $ prop;抛出新的InvalidArgumentException(&#39;&#34;在I类中尝试包含几行。

我已经在5.4和5.6上尝试了这一点,结果相同。

接近这个的正确方法是什么?欢迎任何想法。

1 个答案:

答案 0 :(得分:1)

逗号后面和开场<?php之前有空格。逗号之后的所有内容都是“输出”。该空间可能不会破坏所有代码,但显然namespace和任何会话使用等都会破坏。删除空格:

require_once('data://text/plain,<?php namespace Foo\Bar; use \Somestuff; class Baz {}');