第22行的C:\ wamp \ www \ test \ src \ Ado \ FrontendBundle \ Helper \ AdoFactory.php中找不到“AdoDoctrineModel”类
<?php
namespace Ado\FrontendBundle\Helper;
use AdoDoctrineModel;
use AdoApiModel;
class AdoFactory {
protected $adapter;
public function __construct($container) {
$this->adapter = $container->getParameter('adapter');
}
public function getModel() {
switch($this->adapter)
{
case 'API':
case 'Doctrine':
$class = 'Ado' . $this->adapter. 'Model';
return new $class;
break;
default: throw new Exception("unsupported format: " . $type);
}
}
}
?>
AdoDoctrineModel.php
namespace Ado\FrontendBundle\Helper;
class AdoDoctrineModel {
public function __construct() {
}
}
我尝试将AdoFactory中的使用路径更改为完整路径,同时添加“use {...} as AdoDoctrineModel” 尝试过\ new AdoDoctrineModel
任何帮助都会很棒!
答案 0 :(得分:1)
我假设你正在使用Composer(Symfony 2.1.x)。你的代码对我来说似乎很好,我会检查composer.json
文件中的这一部分:
"autoload": {
"psr-0": {
"": "src/"
}
}
然后发出:
composer dump-autoload
当然文件AdoDoctrineModel.php
应该放在src/Ado/FrontendBundle/Helper
文件夹中。不需要use
语句,因为两个类都在同一名称空间中。
答案 1 :(得分:1)
删除该代码:
use AdoDoctrineModel;
use AdoApiModel;
一切都应该正常。你需要刷新你对php命名空间如何工作的理解,检查名称空间的文档。
您当前正在告诉您的应用是获取不存在的\ AdoDoctrineModel类和\ AdoApiModel而不是\Ado\FrontendBundle\Helper\AdoDoctrineModel
和\Ado\FrontendBundle\Helper\AdoApiModel
类。