LOGO ZEND Framework. FRAMEWORK O que é? Um framework nada mais é do que uma arquitetura...

Post on 07-Apr-2016

219 views 1 download

Transcript of LOGO ZEND Framework. FRAMEWORK O que é? Um framework nada mais é do que uma arquitetura...

LOGO

ZENDFramework

LOGO

FRAMEWORK

O que é? Um framework nada mais é do que uma

arquitetura “padrão” que fornece várias ferramentas comuns a todo tipo de projeto;

Utilizam os mais variados tipos de padrões de projeto para proporcionar um ambiente de desenvolvimento extremamente produtivo.

www.themegallery.com

LOGO

FRAMEWORK VANTAGENS

Padronização de processos. Uso constante das boas práticas de

desenvolvimento. Enorme gama de recursos disponiveis. Re-uso de código. Flexibilidade e Extensibilidade dos projetos. Fácil manutenção. Produtividade.

www.themegallery.com

LOGO

Framework X Biblioteca de Classes

Bibliotecas: Bibliotecas são apenas bibliotecas, fornecem

vários recursos independentes que as vezes fica dificil interagirem entre si.

Framework: Além de fornecer vários recursos como

biblioteca, proporciona todo um ambiente padronizado, que, uma vez seguido de acordo fica sendo extremamente produtivo com o reutilização de muitos trechos de código.

www.themegallery.com

LOGO

Introdução ao Zend Framework O que é?

Framework open-source para desenvolvimento orientado a objeto escrito em PHP 5.

Mantido pela Zend Technologic Inc. Usa a arquitetura Model-View Controller (MVC).

Isto é usado para separar as diferentes partes de sua aplicação para tornar o desenvolvimento e manutenção mais fácil.

www.themegallery.com

Padrão MVC MODEL

É a parte que se preocupa com os dados específicos a serem mostrados. Dessa forma, model é geralmente relacionado com a lógica de negócios de uma aplicação e administra o carregamento e o salvamento de dados em um banco de dados, web services, feeds, etc.

VIEW É a parte responsável pela visualização do que é mostrado

para o usuário. Ex:. html, javascript, css. CONTROLLER

Gerencia o ambiente da requisição, isto é determina o que irá ser o fluxo entre o view e o model para garantir que as informações corretas sejam mostradas na página.

LOGO

ZEND TOOL A Zend Tool:

É uma ferramenta para criação de controllers, views, models, projetos entre outros recursos do ZF via linha de comando.

Então o primeiro passo para podermos utilizar a Zend Tool é baixar o pacote do Zend Framework no site http://framework.zend.com/download/latest. (disponível na pasta programas na desktop)

www.themegallery.com

ZEND TOOL Instalação

Primeiramente devemos verificar se o comando php está disponível no nas variáveis de ambiente no windows.• Iniciar;• Meu computador;• Clique direito e vá em propriedades.• Na guia ‘Avançado’, vá em Variáveis do

Ambiente/Sistema;• Em Variáveis do Sistema, procure a PATH;• Clique para editá;• E adicione no final a caminho do php.exe

– ;C:\xampp\php• Clique em ok, nas vezes em que aparecer;

ZEND TOOL Instalação

ZEND TOOL Instalação

Agora iremos fazer o mesmo procedimento anterior. Porém antes vamos descompactar a bibiloteca da Zend Framework na área de trabalho pasta programas.• Após decompactar na pasta (C:\Program Files\);• Renomearemos para Zend Framework;• Em Variáveis do Sistema, procure a PATH;• Clique para editá-la;• E adicione no final a caminho do zf.bin

– ;C:\Program Files\Zend Framework\bin• Clique em ok, nas vezes em que aparecer;

ZEND TOOL Instalação

ZEND TOOL Instalação

Agora reinicie o windows. Para testarmos a zend tools:

Com a tecla windows + r; Digite cmd No console digite:

• zf show version, tecla enter;

ZEND TOOL Instalação

ZEND TOOL Criando um projeto via ZEND TOOL

No console do windows digite:• zf create project "C:\Documents and Settings\

developer\Desktop\projeto“ Note que foi criada uma pasta projeto na desktop;

ZEND TOOL Criando um projeto via ZEND TOOL

ZEND TOOL Criando um projeto via ZEND TOOL

LOGO

INTEGRAÇÃO ZEND TOOLS e NETBEANS

INTEGRAÇÃO Essa integração é bastante interessante. Pois o

netbeans possui um console extremamente eficaz.• Autocompleta os comandos;• Mostra os parâmetros de cada comando;• Aumenta consideravelmente a produtividade na

utilização da IDE Netbeans.

www.themegallery.com

CONFIGURAR VIRTUALHOST NO APACHE

APACHE Para deixarmos a nossa aplicação mais segura

devemos criar um virtualhost.• Agora baixe o arquivo no site do mini curso

– http://www-pet-si.inf.ufsm.br/cursozend2011/aula1– Arquivo:

» httpd-vhosts.conf• Copie o arquivo baixado na pasta

– C:\xampp\apache\conf\extra• Reinicie o apache.• Abra o arquivo host na pasta:

– C:\WINDOWS\system32\drivers\etc– Adicione a seguinte linha:

» 127.0.0.1 agendaweb.localhost

INTEGRAÇÃO ZEND TOOLS e NETBEANS

httpd-vhosts.conf

Essa configuração veremos na prática mais adiante.

INTEGRAÇÃO ZEND TOOLS e NETBEANS

INSTALAÇÃO É bastante simples, em poucos passos é possível

fazer a instalação.• Abra o NETBEANS;• Vá em Tools(Ferramentas) > Options(Opções);• Clique em PHP;• Na aba Zend, tem a input Zend script;• Vá em Browse e procure a pasta bin onde foi

descompactada o Zend Framework, pois ela contém o zf.bat.

– Note que no nosso exemplo, como já fizemos isso para utilização no console, já aparece o caminho correto do nosso zf.bat.

• Clique em Register Provider, e depois em OK.

INTEGRAÇÃO ZEND TOOLS e NETBEANS

INSTALAÇÃO

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO Iniciando a parte prática do mini curso, iremos agora

criar um novo projeto. O projeto consistirá em uma agenda de contatos;

• Vá em file(arquivo) > New Project(novo projeto);• Na categories(categorias), selecione PHP Application;• Clique em next;• Em Project Name(Nome do projeto) digite:

– AgendaWeb• Em source files(código fonte) digite o seguinte caminho

– C:\xampp\htdocs\AgendaWeb» Caminho que o apache utiliza para disponibilizar as

aplicações web;» Pasta agendaweb para o nosso sistema de contatos;

• Clique em Next >.

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO Continuação;

• Em Run Configuration(Executar Configuração);• Run As(Executar como) selecione

– Local Web Site;• Project URL digite;

– http://agendaweb.localhost/ (VirtualHost)• Clique em Next >;

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO Continuação;

• Em PHP Frameworks(Estrutura PHP);• Selecione o check box:

– Zend PHP Web Framework;• Clique em Finish(Finalizar);• Pronto está criado o nosso projeto.

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO

CRIANDO UM PROJETO NO NETBEANS

NOVO PROJETO

CRIANDO UM PROJETO NO NETBEANS

ZEND TOOL Agora vamos utilizar o console no NETBEANS;

• Na guia Projects(Projetos)– Clique com o botão direito > Zend > Run Command...

• Isso irá abrir o console do zend tool no NETBEANS.

CRIANDO UM PROJETO NO NETBEANS

ZEND TOOL

VISUALIZANDO O PROJETO Acesse: http://agendaweb.localhost

MODEL MODELO RELACIONAL DO BANCO DE

DADOS(AGENDA DE CONTATOS)

Model O BANCO agenda já está criado. SQL

Baixe o arquivo no site do mini curso• http://www-pet-si.inf.ufsm.br/cursozend2011/aula1• Arquivo:

– Agenda.sql

Abra pgadmin• Crie um novo banco com o nome agenda.• Execute o sql.

Model Criando DB-Table

Abra o console do zend tool no NETBEANS;– Dica: Marque a opção: Keep this dialog.

No console digite no filter:• create db-table

E no Parameters • Contatos tb_contatos• Usuarios tb_usuarios• Grupos tb_grupos

O Zend Tools criou na pasta model/DbTable os seguintes arquivos de classe:

– Contatos.php– Grupos.php– Usuarios.php

MODEL CLASSES DO MODEL

MODEL Baixe os aquivos

http://www-pet-si.inf.ufsm.br/cursozend2011/aula1• Pasta application/models/DbTable

– Arquivos:» Contatos.php» Grupos.php» Usuarios.php

Vamos entender o código. Abra cada um copie o conteúdo e cole nos nos

arquivos correspondentes no nosso projeto. Seguinte ordem:

– Grupos.php– Contatos.php– Usuários.php

Explicação.

LOGO

CONTROLLER Entendendo a url

http://agendaweb.localhost/controller/action/var1/val1/var2/val2;

Criando Controller Abra o console do zend tool no NETBEANS;

– Dica: Marque a opção: Keep this dialog.

No console digite no filter:• create controller

E no Parameters • Contatos • Usuarios• Grupos• Login www.themegallery.com

LOGO

CONTROLLER CLASSES DOS CONTROLLERs

www.themegallery.com

LOGO

ZEND LAYOUT ZEND LAYOUT

Com ele você cria perfis de interfaces comuns e automaticamente o Zend “recheia” seu layout com a template da action requisitada.

Veja na figura a seguir;

www.themegallery.com

ZEND LAYOUT

LOGO

ZEND LAYOUT ATIVANDO

Abra o console do zend tool no NETBEANS;– Dica: Marque a opção: Keep this dialog.

No console digite no filter:• enable layout

Note a pasta layout foi criada juntamente o arquivo layout.phtml;

Vamos entender o código. Abra cada um copie o conteúdo e cole nos nos

arquivos correspondentes no nosso projeto. Seguinte ordem:

– Grupos.php– Contatos.php– Usuários.php

www.themegallery.com

LOGO

Formulário(ZEND_FORM) Criação de formulários:

Sss;; Elementos de formulários:

TESTE Filtros e validação:

Teste;

www.themegallery.com

LOGO

COMPONENTES Apresentação Geral

www.themegallery.com

LOGO

Zend_Auth

www.themegallery.com

LOGO

Zend_session

www.themegallery.com

LOGO

Zend_Translate

www.themegallery.com

LOGO

Zend_Validate

www.themegallery.com

LOGOwww.themegallery.com

Contents

Click to add Title1

Click to add Title2

Click to add Title3

Click to add Title4

LOGOwww.themegallery.com

Diagram

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

TitleAdd your text

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

LOGOwww.themegallery.com

Cycle Diagram

Text

TextText

Text

Text

Cycle name

Add Your Text

LOGOwww.themegallery.com

Diagram

Text

Text

Text

Add YourTitle Text

• Text 1• Text 2• Text 3• Text 4• Text 5

Add YourTitle Text

• Text 1• Text 2• Text 3• Text 4• Text 5

Text

Text

LOGOwww.themegallery.com

Diagram

Concept

Add Your Text

Text

Text

Text

Text

Text

Text

LOGOwww.themegallery.com

Diagram

Add Your Text

Add Your Text

Add Your Text

Add Your Text

Add Your Text

Add Your Text

Add Your Text

Add Your Text

LOGOwww.themegallery.com

Diagram

Add Your Title

Add Your Title

Add Your Title

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

LOGOwww.themegallery.com

Diagram

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

Text Text Text

LOGOwww.themegallery.com

Marketing Diagram

Concept

Concept

concept

Concept

LOGOwww.themegallery.com

Diagram

Add Your TextAdd Your Text

Add Your Text

Add Your Text

Add Your Text

Add Your Text

Text

LOGOwww.themegallery.com

Diagram

1

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

2

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

3

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

LOGOwww.themegallery.com

Diagram

Your TextYour Text

Your TextYour Text

Your TextYour Text

Your TextYour Text

2001 2002 2003 2004

LOGOwww.themegallery.com

Diagram

TitleThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

TitleThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

TitleThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.

LOGOwww.themegallery.com

Block Diagram

TEXT TEXT TEXT TEXT

TEXT TEXT TEXT TEXT

LOGOwww.themegallery.com

Table

Title Title Title Title Title

Title O O O O O

Title O O O O O

Title O O O O O

Title O O O O O

Title O O O O O

Title O X O X O

LOGOwww.themegallery.com

Text1

Text2Text3

Text4

Text5

3-D Pie Chart

LOGOwww.themegallery.com

Block Diagram

Add Your Text

Add Your Text

concept ConceptConcept Concept

LOGO

www.themegallery.com