简体   繁体   English

使用命名空间找不到的类

[英]Class not found using namespaces

With ZF1 when i create the database connection string it works without any issue. 使用ZF1,当我创建数据库连接字符串时,它没有任何问题。 But in ZF2 database adapter seems BUG never works, it gives always the following: 但在ZF2数据库适配器似乎BUG永远不会工作,它总是提供以下内容:

Error: 错误:

[Fri Nov 02 13:26:25 2012] [error] [client 127.0.0.1] PHP Fatal error:  Class 'Application\\Controller\\Zend\\Db\\Adapter\\Adapter' not found in /var/www/html/org/module/Application/src/Application/Controller/TestController.php on line 17

Code: 码:

<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\Db\Adapter\Adapter;
//use Zend\Db\Adapter\Platform\PlatformInterface;
//use Zend\Db\ResultSet\ResultSet;
class TestController extends AbstractActionController {
  public function indexAction() {
    $driverArray = array(
    'driver' => 'Pdo_Mysql',
    'database' => 'web145',
    'username' => 'web145',
    'password' => 'meandmypassword',
    'host'=>'localhost'
    );
    $adapter = new Zend\Db\Adapter\Adapter($driverArray);
    //Zend\Db\Adapter\Adapter::query('SELECT * FROM `sh_operaor`');
    //var_dump ($adapter->query('SELECT * FROM `sh_operaor`'));
    exit;
  }
}

Since you have already used namespace Zend\\Db\\Adapter\\Adapter, you should call it like this: 由于您已经使用了Zend \\ Db \\ Adapter \\ Adapter命名空间,因此您应该像这样调用它:

$adapter = new Adapter($driverArray);

Or you could call it from root namespace start with backslash 或者您可以使用反斜杠从root命名空间开始调用它

$adapter = new \Zend\Db\Adapter\Adapter($driverArray);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM