Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite caros colegas,
quando tento conexão com o Mysql usando o Zend Framework 2 e PDO nunca funciona.
Quando tento conectar ao Mysql usando o PDO através da maneira tradicional, funciona normalmente.
O Código que estou usando pra testar a conexão no ZF2 é o seguinte:
$adapter = new \Zend\Db\Adapter\Adapter(array(
'driver' => 'Pdo_Mysql',
'dsn' => 'mysql:dbname=meubanco;host=localhost',
'hostname' => 'localhost',
'database' => 'meubanco',
'username' => 'root',
'password' => ''
));
$isconnected = $adapter->getDriver()->getConnection()->isConnected();
if ($isconnected) {
return new ViewModel(array('status' => 'conectado!'));
} else {
return new ViewModel(array('status' => 'erro'));
}
Você configurou a conexão corretamente?
Você precisa primeiro ter os arquivos de configuração com os dados da conexão:
Arquivo config/autoload/global.php:
Arquivo config/autoload/local.php:
Depois você precisa injetar o adapter no model ou serviço que for usar, por exemplo, supondo que você possui um módulo Application e um serviço UserService, então você pode injetar dessa forma:
Arquivo module/Application/Module.php:
public function getServiceConfig()
{
Veja que primeiro eu tenho um "table gateway" que recebe a conexão e injeto ela na classe UserService.
Para chamar a classe UserService no controller é só fazer assim:
$this->getServiceLocator()->get('Application\Service\User');
O ZF2 utiliza bastante o conceito de injeção de dependência, se tiver alguma dúvida de como utilizar, recomendo a leitura desse link :seta: http://framework.zend.com/manual/2.2/en/modules/zend.di.introduction.html