Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Framework Yii

2,491 views

Published on

Apresentação para iniciantes no Framework Yii...
Os slides mostram do que se trata esse framework, dos passos necessários para a sua instalação e das facilidades que ele proporciona à implementação (login, CRUD, JSON).

Published in: Technology

Framework Yii

  1. 1. ANDERSON LIMA • EDEN RAMOS • JULIANE SILVA
  2. 2. TUDO SOBRE O YII • O que é? • Pré-requisitos para a instalação. • Como instalar? • Como configurar a programação no eclipse? • Como usar autenticação? • Como fazer um CRUD um-para-muitos? • Como criar uma interface RESTful/JSON para o CRUD um-para-muitos?
  3. 3. O QUE É O YII? • É um FRAMEWORK de alta performance em PHP que utiliza componentes para o desenvolvimento de pequenas a grandes aplicações Web. • Por ser equipado com sofisticadas soluções em CACHING, é adequado para o desenvolvimento de aplicações com alto tráfego de dados.
  4. 4. O QUE É O YII? • É totalmente ORIENTADO A OBJETOS. • Permite a máxima REUTILIZAÇÃO DE CÓDIGOS na programação Web e pode acelerar significativamente o processo de desenvolvimento. • Ele é eficiente, rico em recursos e bem documentado, tendo sido cuidadosamente projetado.
  5. 5. PRÉ-REQUISITOS • Baixe e instale o Java Platform (JDK). • Baixe o Eclipse Standard (ou outro de sua preferência). • Utilizaremos o Eclipse Standard no decorrer deste tutorial. Porém, teoricamente, em qualquer outra edição do Eclipse, os passos aqui descritos funcionam igualmente. • Baixe e instale XAMPP. • Por garantia de funcionamento, deixe o XAMPP ativado. • Deixe as opções do Apache e MySQL ativadas também no Painel de Controle.
  6. 6. COMO INSTALAR? • Baixe o Yii Framework. • Descompacte a pasta baixada em algum diretório. • Diretório sugerido: C:, alterando o nome da pasta descompactada para yii.
  7. 7. COMO INSTALAR? • Abra o Prompt de Comando. Provavelmente, ele abrirá no caminho: C:Users“nome_do_usuário”>. • Digite e execute o seguinte comando: cd xamppphp. • Digite e execute o seguinte comando: php C:yiiframework yiic.php webapp C:xampphtdocstestdrive. • Será solicitada uma confirmação, digite e execute: yes.
  8. 8. COMO INSTALAR? • Caso o XAMPP e/ou as opções Apache e MySQL estejam desativados, ative- os agora. • Feito isso, automaticamente aparecerá no cmd algo como a imagem ao lado.
  9. 9. COMO INSTALAR? • Em algum navegador web de sua preferência, acesse: http://localhost/testdrive. • Caso não apareça a tela abaixo, reveja e verifique o que possivelmente tenha errado nos passos anteriores.
  10. 10. YII INSTALADO... AÊ! O/ AGORA, COMO CONFIGURAR O YII NO ECLIPSE? :O
  11. 11. YII NO ECLIPSE • Para configurar o Yii no Eclipse, execute o Eclipse Standard e acesse: Help/Install New Software... • No campo “Work with:”, digite: http://download.eclipse. org/releases/“nome_da_versão_do_eclipse”. • No momento, estamos utilizando a versão Juno, logo a URL será: http://download.eclipse.org/releases/juno.
  12. 12. YII NO ECLIPSE • No segundo campo, abaixo daquele, aparecerá várias opções, procure por “Programming Languages”. • Expanda esta opção e selecione “PHP Development Tools (PDT)”. • Após isso, Next/Next/I agreement/Finish. accept the terms of the license
  13. 13. YII NO ECLIPSE • Aguarde a instalação. • E, após a instalação, reinicie o Eclipse, apertando em “Yes” na mensagem que segue.
  14. 14. YII NO ECLIPSE • Quando o Eclipse reiniciar, acesse novamente: Help/ Install New Software... • No campo “Work with:”, digite: http://yiiclipse.maziarz. org/updatesite/"número_da_versão_estável". • No momento, a versão estável do Juno é a 1.0, logo a URL será: http://yiiclipse.maziarz.org/updatesite/1.0.
  15. 15. YII NO ECLIPSE • No segundo campo, abaixo daquele, aparecerá a opção “Yiiclipse”. • Expanda esta opção e selecione “Yiiclipse Core”. • Após isso, Next/Finish.
  16. 16. YII NO ECLIPSE • Aguarde a instalação. Durante a mesma, aparecerá um alerta de segurança, aperte “OK” para continuar. • E, após a instalação, reinicie o Eclipse, apertando em “Yes” na mensagem que segue.
  17. 17. YII NO ECLIPSE • Para adicionar o Yii a um projeto de PHP já criado no Eclipse, clique com o botão direito do mouse em cima da pasta do projeto – que aparecerá na aba “Package Explorer”. • E vá em: Configure/Toggle Yii support.
  18. 18. ENFIM, VAMOS CRIAR OS MÓDULOS COM O YII... O/*O
  19. 19. AUTENTICAÇÃO • Vá no diretório C:xampphtdocstestdriveprotectedconfig e abra o arquivo “main.php” (use algum editor de sua preferência para editá-lo, exemplo: notepad++). • Depois de aberto o arquivo no editor, procure por: • E comente este trecho assim:
  20. 20. AUTENTICAÇÃO • Logo abaixo, há um outro trecho comentado: • Descomente-o desta forma: • Salve as alterações para que tenha o efeito desejado.
  21. 21. AUTENTICAÇÃO • Feito isso, teremos alterado o nosso banco de dados do modelo SQLite (que é o padrão) para o MySQL. • Para armazenar os usuários que vão logar no sistema, crie uma tabela no banco de dados.
  22. 22. AUTENTICAÇÃO • Vá em C:xampphtdocstestdriveprotectedcomponents e abra o arquivo “UserIdentity.php” (use algum editor de sua preferência para editá-lo, exemplo: notepad++). • Mude a função “authenticate()” de acordo com a imagem:
  23. 23. AUTENTICAÇÃO • Após isso, teremos definido um nome de usuário e a senha para entrar, em outras palavras, no login. • Em algum navegador web de sua preferência, acesse: http://localhost/testdrive/in dex.php?r=site/login. • E veja o login pronto!
  24. 24. CRUD • Para se criar um aplicativo CRUD, é necessário que o banco de dados do aplicativo já esteja modelado e criado. • Iremos utilizar um exemplo com 3 modelos: Aluno, Professor e Turma. • Onde em uma turma pode haver vários alunos e apenas 1 professor. • Para criar o banco, abriremos o editor SQL de preferência e utilizaremos o MySQL Workbench 6.0.
  25. 25. CRUD • Então, executamos a seguinte sql:
  26. 26. ATIVANDO O GII • O Yii Framework nos fornece uma ferramenta para facilitar a criação dos modelos e arquivos necessários, chamada Gii. • Para ativá-la, abriremos o arquivo “main.php” que se encontra em: “nome_do_projeto”/protected/config/main.php. • Com o arquivo aberto, iremos tirar o comentário do módulo Gii, que se encontra em “modules”. • Altere o campo “password” e escolha uma senha de sua preferência.
  27. 27. ATIVANDO O GII
  28. 28. UTILIZANDO O GII • Agora para utilizar o Gii, entre na url: “nome_da_aplicação”/ index.php?r=gii • A seguinte tela irá aparecer:
  29. 29. UTILIZANDO O GII • Agora, podemos criar os modelos e views referentes ao nosso banco de dados. • Primeiro, iremos criar os modelos. Para isso, aperte em “Model Generator”.
  30. 30. CRIANDO OS MODELOS • Para criar o modelo, basta digitar o nome da tabela do banco de dados correspondente ao objeto no campo “Table Name”, e clicar em “Preview”.
  31. 31. CRIANDO OS MODELOS • A seguinte tela aparecerá, mostrando os arquivos que serão criados. Para confirmar, clique em “Generate”.
  32. 32. CRIANDO O CRUD • Agora criado, com o podemos modelo criar o CRUD para ele. • Para isso, clique em “CRUD Generator”.
  33. 33. CRIANDO O CRUD • Para criar o CRUD, digite o nome do modelo no campo “Model Class” e clique em “Preview”.
  34. 34. CRIANDO O CRUD • A tela abaixo irá aparecer, com os arquivos que serão criados para o CRUD. Para confirmar, clique em “Generate”. • Agora repita todo o processo para os outros modelos do banco.
  35. 35. OBSERVAÇÕES • Nota-se que os arquivos podem ter 3 status diferentes: • New: Irá criar um novo arquivo. Deixe checado para confirmar a criação do arquivo. • Overwrite: Significa que já existe um arquivo com o mesmo nome, porém com códigos diferentes. Deixe checado para substituir o arquivo por um novo. CUIDADO, isso fará com que o arquivo já existente seja perdido. • Unchanged: Significa que já existe um arquivo com o mesmo nome e é idêntico ao arquivo que seria criado.
  36. 36. VISUALIZANDO O CRUD • Para visualizar as páginas do CRUD, entre com a url: “site_do_aplicativo”/index.php?r=“nome_do_modelo”. • Exemplo: /teste/index.php?r=turma. Todos os objetos do modelo "Turma“ são mostrados aqui. Pode-se ver todos os atributos de cada objeto. Clicando em sua chave primária, podemos visualizar individualmente o objeto.
  37. 37. VISUALIZANDO UM OBJETO • Ao clicar no ID, veremos a tela abaixo. • Ao lado, temos todas as operações relacionadas ao objeto.
  38. 38. CRIANDO UM OBJETO
  39. 39. SELECT DE CAMPOS RELACIONADOS • Observe que no campo “Professor”, há uma lista de professores para selecionar, onde Professor é também um objeto. • Para mostrar campos relacionados como lista, temos que modificar o view da página. • Neste caso, modifica-se o arquivo protected/views/turma/_form.php. “nome_do_projeto”/ • E, neste arquivos, localiza-se a classe “row” correspondente ao campo “professor_id”.
  40. 40. SELECT DE CAMPOS RELACIONADOS
  41. 41. SELECT DE CAMPOS RELACIONADOS • Note que todos os campos são mostrados como um textField. Portanto, neste caso, iremos colocar um dropDownList, populado com os objetos do modelo Professor. • Primeiro, iremos criar uma variável contendo todos os objetos Professor: <?php $list = CHtml::listData(Professor:: model()->findAll(), 'id', 'nome'); ?>
  42. 42. SELECT DE CAMPOS RELACIONADOS • Note que para referenciar um objeto tipo Professor com o Yii, utiliza-se o mesmo como se fosse uma classe. • O método findAll() retorna todos os objetos do modelo Professor. • Com isso, cria-se um dropDownList utilizando os dados da variável $list: <?php echo $form->dropDownList ($model, 'professor_id', $list, array('empty'=>'(Selecione o professor)')); ?>
  43. 43. RESTFUL? JSON? O.O SEM PÂNICO!
  44. 44. RESTFUL/JSON • REST = Transferência de Estado Representativo. • É um estilo arquitetural usado no projeto de aplicações da Web que contam com recursos nomeados (URL,URI,URN) e utiliza mais profundamente o protocolo HTTP. • RESTful é uma forma de acesso a dados semelhante aos webservices, mas que obedecem a arquitetura REST. • Usa HTTP e responde em um formato conhecido (JSON). • Aceita GET, POST, UPDATE, DELETE como métodos HTTP. • Possui uma URI em forma de API, em conjunto com os métodos HTTP.
  45. 45. UTILIZANDO RESTFUL/JSON • Para se criar uma interface utilizando Restful e Json, iremos configurar as url’s primeiramente. • Abra o arquivo “main.php” que se encontra em “nome_do_projeto”/protected/config/main.php. • Iremos adicionar alguns padrões Url em nosso “UrlManager”, para podermos definir as ações que serão realizadas ao entrar em certa Url.
  46. 46. UTILIZANDO RESTFUL/JSON • Iremos adicionar as seguintes url’s:
  47. 47. UTILIZANDO RESTFUL/JSON • Para exemplo, vamos definir as ações apenas para o modelo “Aluno”. • Veja que criamos uma url para cada atividade do CRUD. Acessaremos essas url’s com o prefixo “/api/” na url da aplicação. • Iremos agora criar o controlador que terá as ações dessas url’s.
  48. 48. UTILIZANDO RESTFUL/JSON • Crie um arquivo chamado “ApiController.php” na pasta “nome_do_projeto”/protected/controllers/ conforme abaixo:
  49. 49. DEFININDO AS AÇÕES • Agora iremos definir cada ação. Iniciaremos com “actionList”:
  50. 50. DEFININDO AS AÇÕES • Seguido pela “actionView”:
  51. 51. DEFININDO AS AÇÕES • Pela “actionCreate”:
  52. 52. DEFININDO AS AÇÕES • Pela “actionUpdate”:
  53. 53. DEFININDO AS AÇÕES • E, finalmente, pela “actionDelete”:
  54. 54. DEFININDO AS AÇÕES • E, finalmente, pela “actionDelete”:
  55. 55. DEFININDO AS AÇÕES • Agora, definiremos a resposta. Neste caso, com um simples html, mostrando o resultado das ações:
  56. 56. TESTANDO • Por fim, podemos fazer um teste, entrando na url:
  57. 57. DÚVIDAS??? NÃO SEJA TÃO AMIGO... FAÇA PERGUNTAS SE QUISER! ;D
  58. 58. AGORA É POR SUA CONTA... BOA SORTE! =D

×