Загрузить Zend_Test_DbAdapter из Zend_Db :: factory () - PullRequest
0 голосов
/ 08 сентября 2011

Как получить и экземпляр Zend Framework Тест DbAdapter с использованием Zend_Db :: factory () ?

У меня есть следующий код, но Фабрика ставит отметку на моем корпусе адаптера и ломает путь к файлу. Кажется немного ироничным, что их тестовый адаптер не может быть загружен их собственной Фабрикой. Что я тут не так делаю?

$config = new Zend_Config(
    array(
        'database' => array(
            'adapter' => 'DbAdapter',
            'params' => array(
                'adapterNamespace' => 'Zend_Test',
                'host' => 'localhost',
                'dbname' => 'mydb',
                'username' => 'not',
                'password' => 'needed'
            )
        )
    )
);

$db = Zend_Db::factory($config->database);

Я получаю следующую ошибку:

Zend_Loader::include_once(Zend/Test/Dbadapter.php): failed to open stream: No such file or directory

Обновлено

Приведенный выше код является прямым копированием и вставкой, регистр параметров адаптера правильный: «DbAdapter». Это соответствует регистру файлов Zend_Test_DbAdapter.

Я изменил свой код на создание экземпляра Zend_Test_DbAdapter вручную, и он автоматически загружается без проблем.

$db = new Zend_Test_DbAdapter;
print_r(get_class($db));

Выход:

Zend_Test_DbAdapter

Я все еще верю, что метод Zend_Db::factory() искажает регистр символов моего адаптера, верхний регистр первого символа, нижний регистр остальных.

1 Ответ

0 голосов
/ 08 сентября 2011

Проверьте опечатку

if not 'adapter' => 'Dbadapter', to 'adapter' => 'DbAdapter',

Zend/Test/Dbadapter.php does not exits
Zend/Test/DbAdapter.php exits in library 

ИЛИ

Файл отсутствует

Вы должны добавить Zend Lib в includePath или, если его проект Zend добавить файлы Zend в библиотеку

/ приложение /библиотека добавить файлы Zend (скачать с http://framework.zend.com/download)

...