我使用的是来自子树的包,所以我不能修改它的结构和位置。我目前正在尝试将其包含在自动加载过程中,但失败得很糟糕,出现了"class not found“错误消息。目前,我的项目树(使用Symfony 3.2制作)是:
|- app
|- src
|- MyappBundle
|- external
|- Author
|-UserBundle
|- Controller
|- [...]
|- AuthorUserBundle.phpAuthorUserBundle.php包含:
namespace Author\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AuthorUserBundle extends Bundle
{
}为了包含这个包,我在app/AppKernel.php中添加了:
new Author\UserBundle\AuthorUserBundle(),在AnnotationRegistry::registerLoader之前,我还添加了app/autoload.php:
$loader->add('Author',__DIR__.'/../src/external');我并不掌握名称空间的重叠,特别是关于调用的深度,但我尝试了(Author\UserBundle\AuthorUserBundle\AuthorUserBundle())的许多变体(如‘/../src/ autoload.php / AppKernel.php’)或外部作者,但都以相同的错误消息“找不到类”结束。
我错过了什么?
很抱歉这个新手问题,我先试过了,谢谢你抽出时间。
附注:无法删除external目录,git子树进程不允许在非空目录中操作。
https://stackoverflow.com/questions/41383815
复制相似问题