20.11.2014 Views

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

usuário e senha para o acesso. Uma exceção será disparada caso ocorra um erro ao<br />

estabelecer a conexão (por exemplo, um DSN incorreto, ou usuário/senha inváli<strong>do</strong>s).<br />

$connection=new CDbConnection($dsn,$username,$password);<br />

// estabelece a conexão. Você pode utilizar um try... catch tratar exceções<br />

$connection->active=true;<br />

......<br />

$connection->active=false; // fecha a conexão<br />

O formato <strong>do</strong> DSN depende <strong>do</strong> driver PDO em uso. Geralmente, o DSN é forma<strong>do</strong> pelo<br />

nome <strong>do</strong> driver PDO, segui<strong>do</strong> por ":", segui<strong>do</strong> pela sintaxe de conexão específica <strong>do</strong><br />

driver. Veja PDO <strong>do</strong>cumentation para mais informações. Abaixo temos uma lista <strong>do</strong>s<br />

formatos de DSN mais utiliza<strong>do</strong>s:<br />

• SQLite: sqlite:/path/to/dbfile<br />

• MySQL: mysql:host=localhost;dbname=testdb<br />

• PostgreSQL: pgsql:host=localhost;port=5432;dbname=testdb<br />

• SQL Server: mssql:host=localhost;dbname=testdb<br />

• Oracle: oci:dbname=//localhost:1521/testdb<br />

Como a classe CDbConnection estende a classe CApplicationComponent, podemos<br />

utiliza-la como um componente da aplicação. Para isso, configure um componente<br />

chama<strong>do</strong> db (ou qualquer outro nome) na configuração da aplicação, como no código a<br />

seguir:<br />

array(<br />

......<br />

'components'=>array(<br />

......<br />

'db'=>array(<br />

'class'=>'CDbConnection',<br />

'connectionString'=>'mysql:host=localhost;dbname=testdb',<br />

'username'=>'root',<br />

'password'=>'password',<br />

'emulatePrepare'=>true,<br />

// necessário em algumas instalações <strong>do</strong> MySQL<br />

),<br />

),<br />

)<br />

Podemos então acessar a conexão com o banco via <strong>Yii</strong>::app()->db, que é ativada<br />

automaticamente, a não ser que se configure a propriedade CDbConnection::autoConnect<br />

para false. Dessa maneira, uma única conexão com o banco de da<strong>do</strong>s pode ser<br />

compartilhada entre diversas partes de seu código.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!