Exemplos :
Yii::app()->createUrl("/post/update",array("id"=>1,'#'=>'post_content'));
CHtml::link("Update",array("/post/update","id"=>1,'#'=>'post_content'));
Yii::app()->createUrl("/post/update",array("id"=>1,'#'=>'post_content'));
CHtml::link("Update",array("/post/update","id"=>1,'#'=>'post_content'));
array('room', 'unique'), Verifica se o campo 'nome' tem no máximo 45 caracteresarray('nome','length','max'=>45),Verifica se o campo 'nome' e 'morada' estão presentes array('nome, morada', 'required'),Valida se o campo 'id_categoria' está presente na tabela 'categoria'(model) no campo 'id'array('id_categoria','exist','className'=>'categoria','attributeName'=>'id'),Verifica se o campo 'id_categoria' é um numero inteiro array('id_categoria', 'numerical', 'integerOnly'=>true), Verifica se o campo 'sexo' está alguns dos valores 'M' ou 'F' array('sexo','in','range'=>array('M','F')), Verifica se o campo 'email' tem uma estrutura valida com um Endereço de Correio Electrónico(Email) array('email','email'), Verifica se o campo 'fotografia' é um ficheiro do tipo (jpg, gif, png) sendo que este pode não existir array('fotografia','file','types'=>'jpg, gif, png','allowEmpty'=>true), Quando da verificação o campo 'nib' é chamada a função 'isValidNIB' presente no model array('nib','isValidNIB'),
function isValidNIB($attribute,$params)
{ // Em caso de Erro :
$this->addError($attribute,$message);
} array('data','type','type'=>'date','dateFormat'=>'yyyy-MM-dd','message'=>' {attribute} tem de ser uma data com o formato aaaa-mm-dd'), echo CHtml::dropDownList('Meunome', $selecionado,array('M' => 'Masculino', 'F' => 'Feminino'),array('empty' => 'Escolha o sexo'));$lista = CHtml::listData($model,'sexo_id', 'sexo_nome');
echo CHtml::dropDownList('Meunome', $selecionado,$lista ,array('empty' => 'Escolha o sexo'));
echo CHtml::activeDropDownList($model,'sexo',array('M'=>'Masculino','F'=>'Feminino'),array('empty'=>'Escolha o sexo'))$lista =CHtml::listData(tipo_cliente::model()->findAll(), 'id', 'nome');
echo CHtml::activeDropDownList($model,'tipo_cliente',$lista,array('empty'=>'Escolha o tipo de cliente')); echo CHtml::dropDownList('pais_id','', array(1=>'PORTUGAL',2=>'BRASIL',3=>'ANGOLA'),
array(
'ajax' => array(
'type'=>'POST', //Tipo de pedidos outra alternativa GET
'url'=>'cidadesDinaminas', //url para chamar
'update'=>'#cidade_id', // Selector jquery da combo a actualizar)));
//dropDownList a ser actualizada
echo CHtml::dropDownList('cidade_id','', array());
// metodo do controlo que será chamado
public function actionCidadesDinaminas()
{
$data=Location::model()->findAll('parent_id=:parent_id',array(':parent_id'=>(int) $_POST['pais_id'])); $data=CHtml::listData($data,'id','nome');
foreach($data as $value=>$nome)
{
echo CHtml::tag('option',array('value'=>$value),CHtml::encode($nome),true);
}
}Yii::app()->clientScript->registerCoreScript('jquery');
Mais informações:
A Yii é uma framework PHP focada no desenvolvimento de aplicações "WEB 2" destacando-se pelo seu excelente desempenho.
Versão PHP> = 5.1.0
Driver base dados contidos: MySQL / PostgreSQL
Adopta o modelo MVC (Model-View-Controller) que consiste numa técnica de programação separando a lógica de funcionamento da maneira como ela e apresentada
Database Access Objects (DAO) e Active Record: Yii permite ao programador desenvolver um modelo de dados na perspectiva de objectos e desta forma evitar a criação de comandos SQL longos e repetitivos.
Integração com jQuery: jQuery é um dos mais populares Framework javascript e permite a criação de interfaces Javascript eficientes e versáteis.
Formulários de introdução de dados e sua validação: Yii permite facilmente e seguro recolher dados dos formulários e fazer a sua validação, também pode proporcionar ajuda na indicação de erros através de widgets.
Web 2.0 widgets: disponibilizado pelo jQuery, Yii vem com muita Web 2.0 widgets tais como campos de auto-complete, treeview entre outros.
Autenticação e autorização: Yii tem incorporado o suporte de autenticação. Também suporta a autorização hierárquica por via regras de acesso
Temas: possibilita a alteração do aspecto que qualquer aplicação Yii é criada
Web services: Yii suporta a geração automática de serviços Web complexos (WSDL) como suas especificação e pedidos dos mesmos.
Internacionalização (I18N) e localização (L10N): Yii suporta a transacção de massagens, formatação de data, horas, números bem como os dados são mostrados nas várias localizações.
Esquemas de camadas para cache: Yii suporta cache de dados, paginas bem como cache fragmentada e cache dinâmica. A cache (media) que é armazenada pode ser facilmente alterados sem ter necessidade que alterar o código da aplicação.
Captura de erros e logs ; os erros podem ser capturados e apresentados ,as menagens de logs podem ser cauterizadas ,filtradas e enviadas para diferentes destinos.
Segurança: Yii é equipado com vários mecanismos de segurança para prevenir ataques Web .Entre estes estão incluídos a prevenção de cross-site scripting (XSS) , cross-site request forgery (CSRF) entre outros.
O código XHTML gerado é compatível com os standards do mesmo.
Geração automática de código: Yii provisiona ferramentas para geração automática de código, como “esqueletos” de aplicações como sistemas de CRUD (Criação, apresentação, Alteração e Remoção)
Totalmente orientada a objectos: todos os scripts Yii são orientados a objectos .Esta framework não define nenhuma variável ou função global .A hierarquia de classes permite a sua máxima reutilização e personalização das mesmas.
Integração amigável de códigos de outras framework’s ou bibliotecas como PEAR ou Zend Framework.
Documentação detalhada e simples com pequenos exemplos.