YII - Web Programming Framework

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

description

Ciclo de Palestras PHPRio JAN/10

Transcript of YII - Web Programming Framework

Page 1: YII - Web Programming Framework

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

Page 2: YII - Web Programming Framework

Angéllica CardozoTrabalha como desenvolvedora PHP na TargetSO.

Concluindo graduação pelo CEFET.

Trabalhando com desenvolvimento desde 2007.

Page 3: YII - Web Programming Framework

• 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?

Page 4: YII - Web Programming Framework

Por que o Yii?

Page 5: YII - Web Programming Framework

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

Page 6: YII - Web Programming Framework

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.

Page 7: YII - Web Programming Framework

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

Page 8: YII - Web Programming Framework

Conceitos Fundamentais Estrutura de diretórios

Page 9: YII - Web Programming Framework

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.

Page 10: YII - Web Programming Framework

Conceitos Fundamentais Fluxo de execução

Page 11: YII - Web Programming Framework

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 .

Page 12: YII - Web Programming Framework

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

Page 13: YII - Web Programming Framework

Acesso ao Banco de DadosCDbConnection administra o acesso; como estende CApplicationComponent, pode ser usado como um componente da aplicação.

Page 14: YII - Web Programming Framework

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.

Page 15: YII - Web Programming Framework

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.

Page 16: YII - Web Programming Framework

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.

Page 17: YII - Web Programming Framework

Autenticação e Controle de AcessoDefinimos as configurações de controle de acesso no Controller.

Page 18: YII - Web Programming Framework

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.

Page 19: YII - Web Programming Framework

Autenticação e Controle de AcessoImplementando RBAC

Associando ao AccessControl

Page 20: YII - Web Programming Framework

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.

Page 21: YII - Web Programming Framework

Temas e TraduçãoConfiguramos o componente na aplicação.

E podemos trabalhar o componente durante a execução das ações.

Page 22: YII - Web Programming Framework

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.

Page 23: YII - Web Programming Framework

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.

Page 24: YII - Web Programming Framework

Obrigada

Dúvidas?

@AngellicaC