【发布时间】:2014-01-10 03:52:53
【问题描述】:
我有这样的 composer.json 结构:
"psr-0": {
"DatabaseSeeder\\": "app/database/seeds/"
},
我在 app/database/seeds 中有文件(此处的文件可以动态创建,因此使用 "classmap": ["app/database/seeds"] 的解决方案在这里不起作用 bcs 我必须始终在播种前转储自动加载:
- UserTableSeeder.php
- DatabaseSeeder.php
结构如下:
# DatabaseSeeder.php
namespace DatabaseSeeder;
use Doctrine\ORM\EntityManager;
class DatabaseSeeder implements Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run(EntityManager $em)
{
$this->call('DatabaseSeeder\UserTableSeeder', $em);
}
private function call($class, $em)
{
$reflectionMethod = new \ReflectionMethod($class, 'run');
$reflectionMethod->invoke(new $class, $em);
}
在 php composer.phar install 和 php composer.phar dump-autoload 之后,我无法在应用程序中使用,例如在 index.php 中
$object = new \DatabaseSeeder\DatabaseSeeder();
因为我收到错误:类 DatabaseSeeder\DatabaseSeeder 不存在 为什么?它应该在初始化对象时自动加载类。
【问题讨论】:
标签: php composer-php psr-0