High-performance component-based PHP framework
    for developing large-scale Web applications.
Angéllica Cardozo
Trabalha como desenvolvedora PHP na TargetSO.

Concluindo graduação pelo CEFET.

Trabalhando com desenvolvimento desde 2007.
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
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 Dados
CDbConnection administra o acesso; como estende
CApplicationComponent, pode ser usado como um
componente da aplicação.
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.
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.
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.
Autenticação e Controle de Acesso
Definimos as configurações de controle de acesso no
Controller.
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.
Autenticação e Controle de Acesso
Implementando RBAC




Associando ao AccessControl
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.
Temas e Tradução
Configuramos o componente na aplicação.




E podemos trabalhar o componente durante a execução
das ações.
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.
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.
Obrigada
           Dúvidas?
           @AngellicaC

YII - Web Programming Framework

  • 1.
    High-performance component-based PHPframework for developing large-scale Web applications.
  • 2.
    Angéllica Cardozo Trabalha comodesenvolvedora PHP na TargetSO. Concluindo graduação pelo CEFET. Trabalhando com desenvolvimento desde 2007.
  • 3.
    Por que oYii? • 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
  • 4.
  • 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
  • 8.
  • 9.
    Conceitos Fundamentais Criando umaaplicaçã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.
  • 10.
  • 11.
    Conceitos Fundamentais Aplicação Recebea 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 deDados 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 Bancode Dados CDbConnection administra o acesso; como estende CApplicationComponent, pode ser usado como um componente da aplicação.
  • 14.
    Scaffolding Como não poderiafaltar, 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 Controlede 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 Controlede 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 Controlede Acesso Definimos as configurações de controle de acesso no Controller.
  • 18.
    Autenticação e Controlede 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.
  • 19.
    Autenticação e Controlede Acesso Implementando RBAC Associando ao AccessControl
  • 20.
    Temas e Tradução Comos 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 Configuramoso componente na aplicação. E podemos trabalhar o componente durante a execução das ações.
  • 22.
    Temas e Tradução Como 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 Aspastas 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.
  • 24.
    Obrigada Dúvidas? @AngellicaC