O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Nota: O path alias ext está disponível a partir da versão 1.0.8. Nas versões anteriores,<br />
precisávamos utilizar application.extensions para nos referir ao diretório base das<br />
extensões. Nos exemplos a seguir, vamos assumir que ext está defini<strong>do</strong>, Caso você<br />
utilize a versão 1.0.7, ou anterior, substitua o path alias por application.extensions.<br />
Extensões diferentes tem requisitos diferentes para importação, configuração e utilização.<br />
Abaixo, resumimos os tipos mais comuns de utilização de extensões, de acor<strong>do</strong> com as<br />
categorias descritas na visão geral.<br />
Extensões Zii<br />
Antes de descrever a utilização de extensões de terceiros, gostariamos de apresentar a<br />
biblioteca de extensões Zii. Trata-se de um conjunto de extensões criadas pelo time de<br />
desenvolve<strong>do</strong>res <strong>do</strong> <strong>Yii</strong> e é incluída em to<strong>do</strong>s os lançamentos <strong>do</strong> framework, a partir da<br />
versão <strong>1.1</strong>.0. Essa biblioteca está hospedada no Google Code, no projeto chama<strong>do</strong> zii.<br />
Ao utilizar uma das extensões da Zii, você deve utilizar um path alias para fazer<br />
referências às classes correspondentes, no formato zii.caminho.para.NomeDaClasse. O<br />
alias zii é defini<strong>do</strong> pelo framework e aponta para o diretório raiz da biblioteca Zii. Por<br />
exemplo, para utilizar a extensão CGridView, devemos utilizar o seguinte código em uma<br />
view:<br />
$this->widget('zii.widgets.grid.CGridView', array(<br />
));<br />
'dataProvider'=>$dataProvider,<br />
Componente de Aplicação<br />
Para utilizar um componente de aplicação, primeiro precisamos alterar a configuração da<br />
aplicação adicionan<strong>do</strong> uma nova entrada na propriedade components, como no código<br />
abaixo:<br />
return array(<br />
// 'preload'=>array('xyz',...),<br />
'components'=>array(<br />
'xyz'=>array(<br />
'class'=>'ext.xyz.XyzClass',<br />
'property1'=>'value1',<br />
'property2'=>'value2',<br />
),<br />
// configurações de outros componentes<br />
),<br />
);<br />
Dessa forma, podemos acessar o componente em qualquer lugar utilizan<strong>do</strong> <strong>Yii</strong>::app()-<br />
>xyz. O componente será cria<strong>do</strong> somente quan<strong>do</strong> for acessa<strong>do</strong> pela primeira vez, a não<br />
ser que ele tenha si<strong>do</strong> adiciona<strong>do</strong> na propriedade preload.