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.

deny from all<br />

Componentes da Aplicação<br />

As funcionalidades da aplicação podem ser facilmente customizadas e enriquecidas<br />

graças à arquitetura flexível de componentes. A aplicação gerencia um conjunto de<br />

componentes, que implementam recursos específicos. Por exemplo, a aplicação realiza<br />

um pedi<strong>do</strong> de um usuário com a ajuda <strong>do</strong>s componentes CUrlManager e CHttpRequest.<br />

Ao configurar as propriedades <strong>do</strong>s componentes da aplicação, podemos personalizar a<br />

classe e os valores das propriedades de qualquer componente usa<strong>do</strong> na aplicação. Por<br />

exemplo, podemos configurar o componente CMemCache para que ele possa utilizar<br />

múltiplos servi<strong>do</strong>res de memchache para fazer o caching:<br />

array(<br />

......<br />

'components'=>array(<br />

......<br />

'cache'=>array(<br />

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

'servers'=>array(<br />

array('host'=>'server1', 'port'=>11211, 'weight'=>60),<br />

array('host'=>'server2', 'port'=>11211, 'weight'=>40),<br />

),<br />

),<br />

),<br />

)<br />

Acima, adicionamos o elemento cache ao array components. O elemento cache indica a<br />

classe <strong>do</strong> componente, que é CMemCache e sua propriedade servers deve ser<br />

inicializada como no exemplo.<br />

Para acessar um componente da aplicação, use <strong>Yii</strong>::app()->ComponentID, onde<br />

ComponentID refere=se ao ID <strong>do</strong> componente (ex.: <strong>Yii</strong>::app()->cache).<br />

Um componente da aplicação pode ser desativa<strong>do</strong> setan<strong>do</strong> a propriedade enabled para<br />

false na configuração. O valor Null é retorna<strong>do</strong> quan<strong>do</strong> um componente desativa<strong>do</strong> é<br />

acessa<strong>do</strong>.<br />

Dica: Por padrão, os componentes da aplicação são cria<strong>do</strong>s sob demanda. Isto<br />

significa que um componente pode não ser completamente cria<strong>do</strong> se não for acessa<strong>do</strong><br />

durante uma requisição de um usuário. Consequentemente, o desempenho global não<br />

será prejudica<strong>do</strong>, mesmo em uma aplicação com muitos componentes. Alguns<br />

componentes da aplicação (ex.: CLogRouter) necessitam serem cria<strong>do</strong>s, não<br />

importan<strong>do</strong> se estão sen<strong>do</strong> acessa<strong>do</strong>s ou não. Para fazer isso, liste os IDs na<br />

propriedade preload da aplicação.

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

Saved successfully!

Ooh no, something went wrong!