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.
RootAlias.path.to.target<br />
Onde RootAlias é o nome de um diretório existente. Ao executar o méto<strong>do</strong><br />
<strong>Yii</strong>Base::setPathOfAlias(), podemos definir novos apeli<strong>do</strong>s para caminhos. Por<br />
conveniência, o <strong>Yii</strong> já possui predefini<strong>do</strong>s os seguintes apeli<strong>do</strong>s:<br />
• system: refere-se ao diretório <strong>do</strong> <strong>Yii</strong> framework;<br />
• application: refere-se ao diretório base da aplicação;<br />
• webroot: refere-se ao diretório que contém o arquivo <strong>do</strong> script de entrada. Esse<br />
apeli<strong>do</strong> está disponível desde a versão 1.0.3.<br />
• ext: refere-se ao diretório que contém todas as extensões de terceiros. Esse apeli<strong>do</strong><br />
está disponível desde a versão 1.0.8.<br />
Além disso, se a aplicação utiliza módulos, um apeli<strong>do</strong> de diretório raiz (root alias) é<br />
predefini<strong>do</strong> para cada módulo, apontan<strong>do</strong> para o diretório base <strong>do</strong> módulo<br />
correspondente. Esta funcionalidade está disponível desde a versão 1.0.3.<br />
Ao usar o méto<strong>do</strong> <strong>Yii</strong>Base::getPathOfAlias(), um apeli<strong>do</strong> pode ser traduzi<strong>do</strong> para o seu<br />
caminho correspondente. Por exemplo, system.web.CController seria traduzi<strong>do</strong> parayii/<br />
framework/web/CController.<br />
A utilização de apeli<strong>do</strong>s é muito conveniente para importar a definição de uma classe. Por<br />
exemplo, se quisermos incluir a definição da classe CController podemos fazer o<br />
seguinte:<br />
<strong>Yii</strong>::import('system.web.CController');<br />
O méto<strong>do</strong> import é mais eficiente que o include e o require <strong>do</strong> PHP. Com ele, a definição<br />
da classe que está sen<strong>do</strong> importada não é incluída até que seja referenciada pela<br />
primeira vez. Importar o mesmo namespace várias vezes, também é muito mais rápi<strong>do</strong> <strong>do</strong><br />
que utilizar o include_once e o require_once.<br />
Dica: Quan<strong>do</strong> referenciamos uma das classes <strong>do</strong> <strong>Yii</strong> Framework, não precisamos<br />
importa-la ou inclui-la. Todas as classes <strong>Yii</strong> são pré-importadas.<br />
Podemos também utilizar a seguinte sintaxe para importar to<strong>do</strong> um diretório de uma só<br />
vez, de forma que os arquivos de classe dentro dele sejam automaticamente incluí<strong>do</strong>s,<br />
quan<strong>do</strong> necessário.<br />
<strong>Yii</strong>::import('system.web.*');<br />
Além <strong>do</strong> méto<strong>do</strong> import, apeli<strong>do</strong>s são utiliza<strong>do</strong>s em vários outros locais para se referir a<br />
classes. Por exemplo, um apeli<strong>do</strong> pode ser passa<strong>do</strong> para o méto<strong>do</strong> <strong>Yii</strong>::createComponent<br />
() para criar uma instância da classe informada, mesmo que o arquivo da classe ainda<br />
não tenha si<strong>do</strong> incluí<strong>do</strong>.<br />
Não confunda um path alias com um namespace. Um namespace refere-se a um<br />
agrupamento lógico de nomes de classes para que eles possam ser diferenciadas de