O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
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.