2012-11-02 2 views
1

С ZF1 при создании строки подключения к базе данных он работает без каких-либо проблем. Но в ZF2 адаптера базы данных кажется BUG никогда не работает, это дает всегда следующее:Класс не найден с использованием пространств имен

Ошибка:

[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 

Код:

<?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; 
    } 
} 

ответ

3

Поскольку вы уже использовали пространство имен Zend \ Db \ адаптер \ Адаптер, вы должны называть это следующим образом:

$adapter = new Adapter($driverArray); 

Или вы могли бы назвать это от начала пула имен с обратной косой чертой

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

И если вы хотите использовать полное квалифицированное имя, оно должно начинаться с обратной косой черты \. Если нет, PHP ищет подпространство 'Zend' внутри вашего текущего пространства имен. – Carlos

+1

Вы добавили дополнительный «Адаптер» в свой полный список имен. – Carlos

+0

исправил это, спасибо – AlloVince

 Смежные вопросы

  • Нет связанных вопросов^_^