Zend framework2 Zend Framework 2-如何给出“声明文件夹路径”;使用「;及;名称空间;

Zend framework2 Zend Framework 2-如何给出“声明文件夹路径”;使用「;及;名称空间;,zend-framework2,Zend Framework2,在名为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 ListContr

在名为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。
错误是->致命错误:找不到类“Blog\Controller\Zend\Db\Adapter\Adapter”。谁能告诉我,我怎样才能把两个文件夹从上面的路径移回来。因此,我可以获得适当的对象???

在实例化新的
适配器时,您不需要完全限定类名(FQCN),因为您通过use语句声明了该类路径:

use Zend\Db\Adapter\Adapter;
改变这个街区

public function indexAction()
{
    $adapter = new Zend\Db\Adapter\Adapter($configArray);
    print_r($adapter);
}

它应该会起作用

无论如何,
new\Zend\Db\Adapter\Adapter($configArray)
也可以使用(请注意第一个反斜杠),但它比第一个示例更长、更难键入,可读性也更低


您可能还想阅读文档的一节。

您是否尝试过此->(Blog\Service\PostServiceInterface\PostServiceInterface$postService)否,因为它是PostServiceInterface对象我想使用适配器对象在控制器内获取数据给定文档为$sql=new sql($adapter);$select=$sql->select();$select->from('post');$select->where(array('id'=>2));$statement=$sql->prepareStatementForSqlObject($select);$results=$statement->execute();好的,我已经按照您的建议做了更改,谢谢您的ans,它工作正常。谢谢您的文档参考。
public function indexAction()
{
    $adapter = new Adapter($configArray);
    print_r($adapter);
}