【发布时间】:2014-04-27 08:33:03
【问题描述】:
我正在尝试使用我自己创建的供应商库。现在我不能把它放在 GIT 或 SVN 中,所以我试图让它在没有的情况下运行。
这是我的目录结构(借用下面的答案):
vendor/
ISTlibraries/
Saml2Handler/
src/
Saml2Handler/
在我的 composer.json 我添加了
"autoload": {
"psr-0": {
"": "src/",
"Saml2Handler": "vendor/ISTlibraries/Saml2Handler/src/"
}
},
vendor/ISTlibraries/Saml2Handler/src/ 是我的源代码的路径。我想要获取的类称为 Saml2Controller,它定义了这个命名空间
namespace Saml2Handler;
当我尝试从我的 symfony2 控制器内部启动类时,我得到一个错误:
FatalErrorException: Error: Class 'Saml2Handler\Saml2Controller' not found in ...
在控制器中,我尝试了一个简单的新 Saml2Controller 并编写了
use Saml2Handler\Saml2Controller;
我哪里错了?
【问题讨论】:
-
在你定义的目录下是否有一个名为
Saml2Controller.php的文件? -
是的,在 src 中有一个 Saml2Controller.php,里面的类被称为 Saml2Controller,命名空间为 Saml2Handler;
-
你跑
composer install了吗? -
有什么方法可以确认自动加载器确实已正确更新?
标签: php symfony namespaces composer-php