Я пытаюсь научить себя Zend Framework. У меня есть большой опыт использования пользовательских фреймворков, но я никогда не использовал Zend. Это все равно что пытаться использовать нож и вилку с рукавицами.
У меня есть система и работает. Соединение с базой данных создается в файле applition.ini без ошибок.
Я пытаюсь использовать это соединение с базой данных для выполнения базового SQL. В application.ini есть строки:
db.adapter = PDO_MYSQL
db.params.host = localhost
db.params.username = cpanel_dbuser
db.params.password = 123456
db.params.dbname = cpanel_dbname
Я пытаюсь подключиться к базе данных в моем /public/index.php
$config = new Zend_Config_Ini(APPLICATION_PATH .
'/configs/application.ini', 'production');
$application->db = Zend_Db::factory($config->db);
Zend_Db_Table::setDefaultAdapter($db);
Я получаю ошибку:
Fatal error: Uncaught exception 'Zend_Db_Exception' with message 'Adapter name must be specified in a string' in /home/path/library/Zend/Db.php:226
Stack trace:
#0 /home/path/public/index.php(32): Zend_Db::factory(Array)
#1 {main} thrown in /home/path/library/Zend/Db.php on line 226
И если я напечатаю_r объект конфигурации
Zend_Config Object
(
[_allowModifications:protected] =>
[_index:protected] => 0
[_count:protected] => 2
[_data:protected] => Array
(
[adapter] => PDO_MYSQL
/* ... more stuff ... */
Исходя из моего понимания учебников и PDF-файлов, из которых я работаю, если я установлю это соединение, я смогу совершить такие фантастические изумления, как следующие, изнутри indexAction контроллера. Действие
$data = $this->db->fetchAll(‘SELECT * FROM table’);
foreach ($data as $row) {
echo $row[‘table_fieldname’];
}
А затем начните писать модели для моих таблиц.
На данный момент, есть довольно серьезное искушение уйти в тупик и сделать это так, как я уже знаю, но это полностью противоречит цели обучения работе в рамках.
Может ли кто-нибудь устранить этот пробел для меня (или указать мне ресурс, который может это исправить)?