Você está na página 1de 24

High-performance component-based PHP framework for developing large-scale Web applications.

Angllica Cardozo
Trabalha como desenvolvedora PHP na TargetSO. Concluindo graduao pelo CEFET. Trabalhando com desenvolvimento desde 2007.

Por que o Yii?


Arquitetura MVC Rpido aprendizado. Melhor organizao do cdigo Componentes e helpers voltados para web 2.0 Scaffolding Integrado com plugins do Jquery Melhor reaproveitamento de tarefas Temas e traduo Comunidade sempre ativa

Por que o Yii?

Agenda

O que o Yii? Caractersticas Conceitos fundamentais Acesso ao banco de dados Scaffolding Autenticao e Controle de Acesso Temas e traduo

O que o Yii?
Yii um componente de alta performance desenvolvido em PHP voltado para o desenvolvimento em larga escala de aplicaes web. Permite o mximo de reusabilidade acelerando significantemente o processo de desenvolvimento.
Yii a referncia para easy, efficient and extensible.

Caractersticas

Padro MVC Mapeamento do Banco (DAO / AR) Integrao com JQuery Widgets integrados com Jquery Internacionalizao e localizao Segurana
(preveno cross-site scripting (XSS) , preveno cross-site request forgery (CSRF) , preveno de adulterao cookie, etc)

Autenticao e Controle de Acesso Temas e traduo

Conceitos Fundamentais
Estrutura de diretrios

Conceitos Fundamentais
Criando uma aplicao
O Yii nos permite criar rapidamente uma aplicao base, fazendo uso de sua ferramenta yiic atravs da linha de comando. Yiic oferece suporte a criao do CRUD de sua aplicao e gera automaticamente o relacionamento entre suas tabelas.

Conceitos Fundamentais
Fluxo de execuo

Conceitos Fundamentais
Aplicao
Recebe a solicitao do usurio e a envia para um controlador adequado para o posterior processamento. Serve tambm como o lugar central para o processamento de configuraes a nvel da aplicao. Por padro, a aplicao uma instancia de CWebApplication. Para personaliz-la utilizado um arquivo de configurao .

Conceitos Fundamentais
Banco de Dados
O suporte a banco de dados construdo em cima da extenso PDO (PHP Data Objects). Representando uma tabela em termos de uma classe. Yii AR elimina a tarefa repetitiva de escrever instrues SQL que lidam principalmente com operaes CRUD (criar, ler, atualizar e excluir). Voc pode usar suas prprias bibliotecas de Banco de Dados na sua aplicao

Acesso ao Banco de Dados


CDbConnection administra o acesso; como estende CApplicationComponent, pode ser usado como um componente da aplicao.

Scaffolding
Como no poderia faltar, o Yii tambm possui uma ferramenta para o processo de scaffolding denominada Yiic. O processo executado atravs da linha de comando. O Yiic j gera os models com os seus respectivos relacionamentos.

Autenticao e Controle de Acesso


O ncleo do Yii para autenticao o componente de aplicao de usurios o qual um objeto que implementa as funcionalidades de autenticao atravs da interface IWebUser.

Autenticao e Controle de Acesso


O Yiic possui um filtro de controle de acesso que checa previamente se um usurio possui autorizao para executar a ao do controller. A configurao pode ser feita pelo nome de usurio, IP e por atributos adicionados a sesso do usurio atravs do componente User. O filtro denominado AccessControl.

Autenticao e Controle de Acesso


Definimos as configuraes de controle de acesso no Controller.

Autenticao e Controle de Acesso


O Yii nos permite mesclar o filtro AcessControl com o controle de acesso RBAC. Atravs da opo expression fornecida pelo filtro AccessControl, podemos autorizar a execuo de uma ao somente aos usurios que detenham o perfil de Administrador no sistema.

Autenticao e Controle de Acesso


Implementando RBAC

Associando ao AccessControl

Temas e Traduo
Com os temas podemos alterar as perspectivas de visualizao das pginas e seus elementos. O gerenciamento de temas pelo Yii feito atravs de um componente denominado ThemeManager. Cada tema representado como um diretrio constitudo por views, layouts, e arquivos como imagens, CSS, JavaScript e etc.

Temas e Traduo
Configuramos o componente na aplicao.

E podemos trabalhar o componente durante a execuo das aes.

Temas e Traduo
Com o componente de traduo do Yii podemos disponibilizar para o usurio os arquivos de viso, formatao de data, hora, meses, dias da semana e de nmeros de uma forma geral, todos traduzidos para sua linguagem.

Temas e Traduo
As pastas devem ser nomeadas de acordo com a respectiva linguagem. A traduo ser efetuada automaticamente de acordo com o parmetro passado para o atributo language da aplicao.

Obrigada
Dvidas?
@AngellicaC

Você também pode gostar