我想将 EasyCSV 添加到我的symfony2项目https://github.com/jwage/EasyCSV
这就是我尝试过的。我添加了
'EasyCSV' => __DIR__.'/../vendor/easy-csv',
到autoload.php和
use EasyCSV\Reader;
在我想要使用此lib的控制器中。但是我得到了
致命错误:在...... Controller.php中找不到类'EasyCSV \ Reader'
任何想法为什么?如何解决这个问题?
答案 0 :(得分:4)
进入vendor/composer/autoload_classmap.php
(Symfony 2.1)
<?php
// autoload_classmap.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'EasyCSV' => __DIR__.'/../vendor/easy-csv',
[....]
);
然后您只需插入
就可以使用它use EasyCSV
您所需文件的“顶部”。
在您的autoload.php
文件中尝试此操作(我猜想在底部)
use Symfony\Component\ClassLoader\MapClassLoader;
[...]
// Create map autoloader
$mapLoader = new MapClassLoader(array(
'EasyCSV' => __DIR__.'/../vendor/easy-csv',
[...]
));
// Register autoloader
$mapLoader->register();
答案 1 :(得分:1)
正如我们在评论中所讨论的那样,请确保您不要手动将第三方库添加到供应商文件中。内置的symfony包管理系统是有原因的。
对于相关捆绑包,您应将以下内容添加到deps
文件中。
[easy-csv]
git=http://github.com/jwage/EasyCSV.git
然后,您应该将以下内容添加到app/autoload.php
$loader->registerNamespaces(array(
...
'EasyCSV' => __DIR__.'/../vendor/easy-csv/lib',
));
现在您应该可以导入命名空间并使用它。