Upload
phprio
View
2.253
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Ciclo de Palestras PHPRio JAN/10
Citation preview
High-performance component-based PHP framework for developing large-scale Web applications.
Angéllica CardozoTrabalha como desenvolvedora PHP na TargetSO.
Concluindo graduação pelo CEFET.
Trabalhando com desenvolvimento desde 2007.
• 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
Por que o Yii?
Por que o Yii?
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
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.
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
Conceitos Fundamentais Estrutura de diretórios
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.
Conceitos Fundamentais Fluxo de execução
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 .
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
Acesso ao Banco de DadosCDbConnection administra o acesso; como estende CApplicationComponent, pode ser usado como um componente da aplicação.
ScaffoldingComo 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.
Autenticação e Controle de AcessoO 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.
Autenticação e Controle de AcessoO 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.
Autenticação e Controle de AcessoDefinimos as configurações de controle de acesso no Controller.
Autenticação e Controle de AcessoO 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.
Autenticação e Controle de AcessoImplementando RBAC
Associando ao AccessControl
Temas e TraduçãoCom 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.
Temas e TraduçãoConfiguramos o componente na aplicação.
E podemos trabalhar o componente durante a execução das ações.
Temas e TraduçãoCom 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.
Temas e TraduçãoAs 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.
Obrigada
Dúvidas?
@AngellicaC