我在myBundle / Controller / functions.php中有一些常规函数,我希望将这个php文件包含在另一个php中。
在myBundle / Service / myService.php中我做:
require_once ('../Controller/functions.php');
但在运行时我不断收到错误消息'ContextErrorException:Warning:require_once(functions.php):无法打开流:在.... / myBundle / Services / myService.php行中没有这样的文件或目录.. “
看起来很蠢,一定是简单的我猜。谢谢你的建议。
答案 0 :(得分:4)
我认为您在课堂上没有使用 namspace 。如果您使用命名空间,则可以更轻松,更轻松地包含这些文件。
如果你的名字空间是:
Acme\Bundle\BlogBundle
然后使用以下方法将其包含在您想要的课程中:
use Acme\Bundle\BlogBundle;
您还需要满足PSR-0(https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)中定义的规则才能使其正常工作。
答案 1 :(得分:0)
搜索Symfony源我发现了一种包含php文件的方法。在myBundle / Services中的php-source中使用
require_once __DIR__."/../Controller/functions.php";
而不是
require_once "../Controller/functions.php";