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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3. Executa o controle;<br />

8. Dispara o evento onEndRequest (ao fim da requisição);<br />

Controle<br />

Um controle é uma instância de CController ou uma de suas classes derivadas. Ele é<br />

cria<strong>do</strong> pela aplicação durante a requisição <strong>do</strong> usuário. Quan<strong>do</strong> um controle entra em<br />

execução, ele também executa a ação requisitada, que, geralmente, recupera os modelos<br />

necessários e exibe a visão apropriada. Uma ação, em sua forma mais simples, nada<br />

mais é <strong>do</strong> que um méto<strong>do</strong> na classe <strong>do</strong> controle, cujo nome começa com action.<br />

Um controle tem uma ação padrão. Quan<strong>do</strong> a requisição <strong>do</strong> usuário não especifica qual<br />

ação executar, a ação padrão será utilizada. Por padrão, essa ação é chamada index. Ela<br />

pode ser alterada através da propriedade CController::defaultAction.<br />

Abaixo temos o código mínimo necessário para uma classe de controle. Uma vez que<br />

esse controle não define nenhuma ação, qualquer requisição feita para ele irá disparar<br />

uma exceção.<br />

class SiteController extends CController<br />

{<br />

}<br />

Rota<br />

Controles e ações são identifica<strong>do</strong>s por seus IDs. O ID de um controle é representa<strong>do</strong> no<br />

formatocaminho/para/xyz, que corresponde ao arquivo de classe <strong>do</strong> controle em<br />

protected/controllers/caminho/para/XyzController.php, onde o xyz deve ser substituí<strong>do</strong><br />

pelos nomes <strong>do</strong>s controles (por exemplo, post corresponde a protected/controllers/<br />

PostController.php).<br />

O ID de uma ação é o nome de seu méto<strong>do</strong> sem o prefixo action. Por exemplo, se um<br />

controle contém o méto<strong>do</strong> chama<strong>do</strong> actionEdit, o ID da ação correspondente será edit.<br />

Nota: Antes da versão 1.0.3, o formato <strong>do</strong> ID para os controles era caminho.para.xyz<br />

em vez de caminho/para/xyz.<br />

Usuários fazem requisições para uma ação e um controle em particular, por meio um rota.<br />

Uma rota, é formada concatenan<strong>do</strong>-se o ID de um controle e o ID de uma ação,<br />

separa<strong>do</strong>s por uma barra. Por exemplo, a rota post/edit refere-se ao controle<br />

PostController e sua ação edit. Por padrão, a URL http://hostname/index.php?r=post/edit<br />

irá requisitar esse controle e essa ação.

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

Saved successfully!

Ooh no, something went wrong!