我在名为Listcontroller的控制器文件中创建适配器对象时遇到问题。我的代码是
namespace Blog\Controller;
use Blog\Service\PostServiceInterface;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\Db\Sql\Sql;
use Zend\Db\Adapter\Adapter;
class ListController extends AbstractActionController
{
/**
* @var \Blog\Service\PostServiceInterface
*/
protected $postService;
public function __construct(PostServiceInterface $postService)
{
$this->postService = $postService;
}
public function indexAction()
{
$adapter = new Zend\Db\Adapter\Adapter($configArray);
print_r($adapter);
//code ....
}
}
这里是在Blog \ Controller中找到Zend \ Db \ Adapter \ Adapter。 错误是 - >致命错误:Class' Blog \ Controller \ Zend \ Db \ Adapter \ Adapter'未找到。任何人都可以告诉我,我怎样才能从上面的路径移回两个文件夹。这样我就可以获得适当的对象??
答案 0 :(得分:2)
在实例化新的Adapter
时,您不需要完全限定的类名(FQCN),因为您通过use语句声明了该类路径:
use Zend\Db\Adapter\Adapter;
更改此块
public function indexAction()
{
$adapter = new Zend\Db\Adapter\Adapter($configArray);
print_r($adapter);
}
到
public function indexAction()
{
$adapter = new Adapter($configArray);
print_r($adapter);
}
它应该有用。
无论如何,new \Zend\Db\Adapter\Adapter($configArray)
也有效(注意第一个反斜杠),但它比第一个例子更长,更难打字,可读性更低。
您可能还想阅读文档的namespace aliasing/importing部分。