Я пытаюсь изучить Zend Framework 2 с помощью представленного скелетного приложения, однако у меня нет какого-либо предыдущего опыта работы в Zend. Я знаю о MVC из других фреймворков, например, yii, symfony.
Мое приложение скелета, похоже, отлично загружается, а затем следующий шаг – настроить соединение MySQL db в приложении. Поэтому я попытался ответить на следующий вопрос:
Соединение с базой данных Zend Frameworkd 2
Но это не помогло мне, поэтому мне интересно, почему. Мой код:
В папке config/autoload/
я создал файл с именем db.local.php
и добавил следующее:
return array( 'db' => array( 'driver' => 'Mysqli', 'database' => 'xxx', 'username' => 'sxxx', 'password' => 'xxxE', 'hostname' => 'localhost' ), 'service_manager' => array( 'aliases' => array( 'db' => 'Zend\Db\Adapter\Adapter', ), ), );
И в контроллере по умолчанию в /module/Application/src/Application/Controller
в файле IndexController.php я добавил следующее для тестирования db, но я не вижу никаких ошибок или выхода из этого контроллера:
public function indexAction() { $this->layout()->myvar = 'bla'; $db=$this->getServiceLocator()->get('db'); //var_dump($db); nothing comes here too. $statement= $db->query('SELECT * FROM `ew_content` WHERE `con_id` = 1'); var_dump($statement); // this also empty $isconnected = $db->getDriver()->getConnection()->isConnected(); if($isconnected){ $message = 'connected'; } else { $message = 'not Valid data field'; } //no output here either return new ViewModel(array( 'customMessageForgotPassword' => 'Error!', )); }