Framework Yii

2.312 visualizações

Publicada em

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).

Publicada em: Tecnologia
2 comentários
0 gostaram
Estatísticas
Notas
  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.312
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
108
Comentários
2
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

×