O documento resume as principais características e conceitos do framework PHP Yii, incluindo: (1) Arquitetura MVC, acesso a banco de dados, e componentes para desenvolvimento web; (2) Autenticação e controle de acesso com RBAC; (3) Temas e tradução para internacionalização.
2. Angéllica Cardozo
Trabalha como desenvolvedora PHP na TargetSO.
Concluindo graduação pelo CEFET.
Trabalhando com desenvolvimento desde 2007.
3. Por que o Yii?
• Arquitetura MVC
• Rápido aprendizado.
•
Melhor organização do código
• Componentes e helpers voltados para web 2.0
• Scaffolding
• Integrado com plugins do Jquery
• Melhor reaproveitamento de tarefas
• Temas e tradução
• Comunidade sempre ativa
5. Agenda
• O que é o Yii?
• Características
•
Conceitos fundamentais
• Acesso ao banco de dados
• Scaffolding
• Autenticação e Controle de Acesso
• Temas e tradução
6. O que é o Yii?
Yii é um componente de alta performance
desenvolvido em PHP voltado para o
desenvolvimento em larga escala de aplicações web.
Permite o máximo de reusabilidade acelerando
significantemente o processo de desenvolvimento.
Yii é a referência para easy, efficient and extensible.
7. Características
•
Padrão MVC
•
Mapeamento do Banco (DAO / AR)
•
Integração com JQuery
• Widgets integrados com Jquery
• Internacionalização e localização
• Segurança
• (prevenção cross-site scripting (XSS) ,
•
prevenção cross-site request forgery (CSRF) ,
•
prevenção de adulteração cookie, etc)
• Autenticação e Controle de Acesso
• Temas e tradução
9. Conceitos Fundamentais
Criando uma aplicação
O Yii nos permite criar rapidamente uma aplicação base,
fazendo uso de sua ferramenta yiic através da linha de
comando.
Yiic oferece suporte a criação do CRUD de sua aplicação e
gera automaticamente o relacionamento entre suas
tabelas.
11. Conceitos Fundamentais
Aplicação
Recebe a solicitação do usuário e a envia para um
controlador adequado para o posterior processamento.
Serve também como o lugar central para o processamento
de configurações a nível da aplicação.
Por padrão, a aplicação é uma instancia de
CWebApplication. Para personalizá-la é utilizado um
arquivo de configuração .
12. Conceitos Fundamentais
Banco de Dados
O suporte a banco de dados é construído em cima da
extensão PDO (PHP Data Objects).
Representando uma tabela em termos de uma classe. Yii
AR elimina a tarefa repetitiva de escrever instruções SQL
que lidam principalmente com operações CRUD (criar, ler,
atualizar e excluir).
Você pode usar suas próprias bibliotecas de Banco de
Dados na sua aplicação
13. Acesso ao Banco de Dados
CDbConnection administra o acesso; como estende
CApplicationComponent, pode ser usado como um
componente da aplicação.
14. Scaffolding
Como não poderia faltar, o Yii também possui uma
ferramenta para o processo de scaffolding denominada
Yiic.
O processo é executado através da linha de comando.
O Yiic já gera os models com os seus respectivos
relacionamentos.
15. Autenticação e Controle de Acesso
O núcleo do Yii para autenticação é o componente de
aplicação de usuários o qual é um objeto que implementa
as funcionalidades de autenticação através da interface
IWebUser.
16. Autenticação e Controle de Acesso
O Yiic possui um filtro de controle de acesso que checa
previamente se um usuário possui autorização para
executar a ação do controller.
A configuração pode ser feita pelo nome de usuário, IP e
por atributos adicionados a sessão do usuário através do
componente User.
O filtro é denominado AccessControl.
17. Autenticação e Controle de Acesso
Definimos as configurações de controle de acesso no
Controller.
18. Autenticação e Controle de Acesso
O Yii nos permite mesclar o filtro AcessControl com o
controle de acesso RBAC.
Através da opção expression fornecida pelo filtro
AccessControl, podemos autorizar a execução de uma
ação somente aos usuários que detenham o perfil de
Administrador no sistema.
20. Temas e Tradução
Com os temas podemos alterar as perspectivas de
visualização das páginas e seus elementos.
O gerenciamento de temas pelo Yii é feito através de um
componente denominado ThemeManager.
Cada tema é representado como um diretório constituído
por views, layouts, e arquivos como imagens, CSS,
JavaScript e etc.
21. Temas e Tradução
Configuramos o componente na aplicação.
E podemos trabalhar o componente durante a execução
das ações.
22. Temas e Tradução
Com o componente de tradução do Yii podemos
disponibilizar para o usuário os arquivos de visão,
formatação de data, hora, meses, dias da semana e de
números de uma forma geral, todos traduzidos para sua
linguagem.
23. Temas e Tradução
As pastas devem ser nomeadas de acordo com a
respectiva linguagem.
A tradução será efetuada
automaticamente de acordo
com o parâmetro passado
para o atributo language da
aplicação.