Правильный способ запроса базы данных MySql в Zend Framework 2

После долгой борьбы и исследований, я наконец-то смог запросить базу данных в таблице mysql, используя Zend Framework 2.

Я использую автозагрузчик. Вот код:

require_once 'Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));

$loader->register();

use Zend\Db\Adapter\Adapter;


$params = array(
'driver'=> 'Pdo_Mysql',
'hostname' => 'localhost',
'username' => '*****',
'password' => '*****',
'dbname' => '*****'
);

try{

$adapter = new Adapter($params);

}
catch (Exception $e){
echo $e->getMessage();
}

$sql = 'select * from user';

$rs = $adapter->createStatement($sql)->execute(array(100,100));

print_r(iterator_to_array($rs));

echo $rs->count();

Я хочу знать, каков правильный способ и лучшая практика для запроса таблицы MySQL. Раньше в ZF1 было намного проще, но теперь я понимаю, что ZF2 гораздо более объектно-ориентирован.

Я хочу оптимизировать производительность и хорошее кодирование. Можете ли вы сказать мне, хорошо ли то, что я сделал, и как лучше всего запрашивать базу данных mysql при использовании ZF2, так как будет много запросов.

-2

Решение

Прежде всего.

После долгой борьбы и исследований

Я не согласен с вами. Вы можете найти пример того, что ваш поиск везде.

Ваш код вообще не уважает подход ООП, он даже не уважает стандартное кодирование Zf2, поэтому вы должны его сломать. Я также рекомендую использовать Zend скелет приложение чтобы показать вам, как использовать Zf2 со стандартной архитектурой.

Для ответа на ваш вопрос:
Zf2 имеет конфигурационную часть для настройки параметров соединения.
Вы должны использовать его, это лучшая практика в соответствии с самой документацией.

Это полное руководство О БД и модели вам точно помогут.

В этом уроке вы можете увидеть пример конфигурации соединения, которую вы должны посмотреть в файле конфигурации

//db.config.php
return array(
'db' => array(
'driver'         => 'Pdo',
'dsn'            => 'mysql:dbname=[yourDb_name];host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter'
=> 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
);

Затем отсюда вы также можете указать в другом конфигурационном файле свои учетные данные для проблем / средств безопасности и / или среды.

 //credential.config.local.php
return array(
'db' => array(
'username' => 'YOUR USERNAME HERE',
'password' => 'YOUR PASSWORD HERE',
),
);

Все конфигурационные файлы объединены. Используй это !

Следуя этому руководству, вы сможете создать слой модели и взаимодействовать с базой данных в ООП-подходе.
Вы должны использовать шаблон проектирования, такой как шаблон MVC, и некоторые другие в соответствии с вашими потребностями. Но если вы хотите соблюдать стандарты кодирования zf2, это единственный способ!

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]