Pronto para assumir suas qualificações em PHP para o próximo nível? Neste novo "From Scratch" série, vamos nos concentrar exclusivamente no Zend Framework , um full-stack framework PHP criado pela Zend Technologies. Primeiro lugar na nossa série de tutoriais, é "Introdução ao Zend Framework."
Introdução: O que é o Zend Framework?
Zend Framework é uma full-stack framework PHP criado pela Zend Technologies. Para aqueles que não estão familiarizados com a empresa, Zend Technologies fornece aos desenvolvedores web com diversas ferramentas para ajudá-los em seu trabalho. Exemplos notáveis são Zend Server, um servidor de aplicações web para execução e gerenciamento de aplicações PHP e Zend Studio, uma IDE full-featured para PHP. Escusado será dizer que, Zend é muito investido em PHP, e é por isso Zend Framework é uma ótima ferramenta para adicionar ao arsenal de qualquer desenvolvedor.
Zend: A Companhia PHP
Zend Framework é composto de muitas bibliotecas e classes. Esta é uma faca de dois gumes - por exemplo, torna mais fácil para os desenvolvedores cherry-pick bibliotecas se eles só precisam de alguns. A desvantagem é que a criação do quadro não é muito fácil no início, pois é apenas um monte de classes. Dito isto, Zend tem uma ferramenta de andaimes e um meio recomendado de configurar a sua estrutura de aplicação, o que vamos discutir neste tutorial particular.
Nesta série de tutoriais, iremos mergulhar como Zend Framework funciona e aprender a usar suas diferentes componentes. Até o final da série, nós vamos ter construído uma marca nova rede social - com perfil básico, rede, atualizações de status, e até mesmo a funcionalidade API. E agora, sem mais delongas, vamos começar!
Passo 1: Download Zend Framework
Em primeiro lugar, precisamos fazer o download do Zend Framework. Atualmente, a versão mais recente é 1.11.11
. Para começar, vá até o site do Zend Framework http://framework.zend.com e clique no Download Now
botão.
Zend Framework
Download Now
ligação Isto deve levar-nos a uma tela com uma lista de downloads diferentes para Zend Framework. No futuro, quando você atualiza o Zend Framework biblioteca, você deve baixar o Minimal
versão, que contém apenas os arquivos ZF. Por ora, vamos baixar Zend Framework 1.11.11 Full
, que contém a biblioteca com todas as demonstrações e testes. Ele também inclui a ferramenta de andaimes que vamos usar mais tarde no tutorial.
Zend Framework lista de download
Passo 2: Configurar o ambiente Zend Framework
Após a conclusão do download, extraia os arquivos em seu desktop de modo a obter uma visão clara dos conteúdos. No interior, há um monte de pastas, mas para os fins do presente tutorial, vamos precisar apenas dois - o bin
pasta e os library
pasta.
Pelo amor de organização, colocar o bin
pasta dentro da pasta PHP e renomeá-lo para zend-bin
. O meu é D:\Development\PHP
, então o resultado final deve ser D:\Development\PHP\zend-bin
.
Vá para a library
pasta e você deve encontrar um Zend
pasta. Coloque este inside your PHP's include_path
. Para mim, isso é D:\Development\PHP\includes
, para movê-lo não deve resultar em D:\Development\PHP\includes\Zend
. Lembre-se de copiar o Zend
pasta dentro da library
da pasta, não a library
própria pasta.
Por último, precisamos configurar o Zend ferramenta CLI dentro do zend-bin
pasta para trabalhar em qualquer diretório. Para fazer isso, temos de acrescentar o diretório para o Path
variável do sistema, para que possamos chamá-lo via prompt de comando.
Clique direito no Computer
link em Iniciar para abrir o System Information
janela. Aqui, clique em Advanced System Settings
.
Na janela que se abre, clique no Environment Variables
botão. Na nova janela, procure o Path
da variável no System variables
lista. Clique em Edit
e adicionar o seu zend-bin
local do diretório no final.
Quando estiver pronto, basta clicar em OK
para salvá-lo.
Para garantir que a nossa configuração está trabalhando, abra um prompt de comando e executar o zf --help
comando. Isso deve saída dos comandos que podemos usar com a ferramenta CLI Zend. Se não, tente reiniciar o computador para certificar-se as variáveis do sistema são implementados.
Além disso, há uma zf.sh
arquivo dentro do zend-bin
pasta. Isto é para sistemas operacionais baseados em Unix como OSX ou Linux. Basta configurar as variáveis de ambiente de acordo para obter o mesmo resultado.
Passo 3: Criar o seu primeiro Projeto de Zend Framework
Agora, começamos o trabalho de desenvolvimento real em nosso projeto Zend Framework. No prompt de comando, vá para o diretório onde você quer colocar seus arquivos de projeto (idealmente este deve ser o diretório onde os seus pontos de servidor local para web). Para mim, é D:\Development\htdocs\nettuts
, então eu vou executar o cd D:\Development\htdocs\nettuts
comando no meu prompt.
Digite o seguinte comando para criar a nossa base de Zend Framework projeto: zf create project thenextsocial
. No comando, thenextsocial
é o nome do nosso projeto. Quando você começar a criar seus projetos próprios ZF, substitua isto com o nome do projeto apropriado.
Confira o conteúdo da pasta agora - você deve ver um novo thenextsocial
pasta. Dentro da pasta, você verá vários arquivos de projeto. Mais importante, você deve ver um public
pasta, que deve ser a única pasta publicamente acessível via browser. Para tornar isso acessível, agora precisamos configurar um VirtualHost
para o projeto.
Para configurar um VirtualHost, abra o Apache é httpd.conf
arquivo. Dentro, adicione o seguinte código:
<VirtualHost *:80>
ServerName thenextsocial.local
DocumentRoot "D:/Development/htdocs/nettuts/thenextsocial/public/"
<Directory "D:/Development/htdocs/nettuts/thenextsocial/public/">
</Directory>
</VirtualHost>
Você também precisará adicionar o domínio para o seu local hosts
arquivo. Para usuários do Windows, deve estar em C:\Windows\System32\Drivers\etc
. Para os usuários baseado em Unix OS, ele deve estar em /etc/hosts
. Abri-lo e adicionar thenextsocial.local
e apontar para 127.0.0.1
Reinicie o seu servidor web. Quando você abre http://thenextsocial.local
em seu navegador, que já deve apontar para o seu projeto de Zend Framework.
Parabéns Você criou com sucesso o seu projeto Framework Zend primeiro!
Passo 4: Saiba mais sobre Estrutura MVC do Zend Framework
O que é exatamente este padrão MVC?
Da introdução do Zend Framework quickstart:
O MVC modelos padrão esta separação de preocupações também.
Assim que é exatamente este padrão MVC mantém todos falando, e por que você se importa? MVC é muito mais do que apenas uma sigla de três letras (TLA) que você pode sacar a qualquer momento você quiser som inteligente, tornou-se uma espécie de padrão no design de aplicações web moderna. E por boas razões. Código mais aplicação web está sob uma das seguintes três categorias: apresentação, lógica de negócios e acesso a dados. O MVC modelos padrão esta separação de preocupações também. O resultado final é que o seu código de apresentação podem ser consolidadas em uma parte do seu aplicativo, com sua lógica de negócio em si e seu código de acesso de dados em outra. Muitos desenvolvedores têm encontrado este indispensável separação bem definida para manter seu código organizado, especialmente quando mais de um desenvolvedor está trabalhando na mesma aplicação.
A essência do que é esta: modelos contêm nossa lógica de negócios, exibições contêm o nosso HTML, e os controladores de manter tudo em linha e dizer tanto os pontos de vista e modelos o que fazer.
MVC em uma aplicação Zend Framework-powered
A coisa boa sobre como usar o ZF ferramenta CLI é que ele configura automaticamente o aplicativo para fazer uso das classes do Zend Framework MVC, que permite a você começar a trabalhar em seus projetos mais rapidamente.
Voltando ao nosso projeto, abrir o thenextsocial/application
pasta e você deve ver - você adivinhou - models, views, and controllers
pastas.
Dentro destas pastas, abra controllers/IndexController.php
e views/scripts/index/index.phtml
. Quando você olha para ambos os arquivos de perto, você verá que a página inicial vimos acima ( Welcome to Zend Framework
) é realmente executado por ambos os arquivos. Então, como chamar esses Zend Framework?
Aplicação explicando Zend Framework roteamento padrão
Por padrão, todas as URLs em seu projeto Zend Framework seguirá um determinado formato:
[url]/[controller]/[action]/[GET parameter 1 value]/.../[GET parameter x]/[GET parameter x value]
Outro padrão é que, se um controlador e / ou ação não é fornecido, ambos padrão para index
. Então, chamando http://thenextsocial.local
é realmente o mesmo que chamar http://thenextsocial.local/index/index
ou mesmo http://thenextsocial.local/index
.
Zend Framework ciclo padrão de roteamento
Zend Framework, em seguida, toma o valor do controlador e olha para ele no controllers
pasta, ou seja, a nossa IndexController.php
arquivo. Dentro do arquivo do controlador, que leva o nosso valor de ação e executa esse método, que é indexAction
. Após a ação ter sido executada no controlador, ZF, então, automaticamente torna o arquivo de visão dentro da pasta vistas no seguinte formato:
../application/views/scripts/[controller]/[action].phtml
É por isso que vemos o Welcome to Zend Framework
página, desde index.phtml
contém o código HTML para esta página.
Passo 5: passar dados de um controlador para o seu Ver
É relativamente simples para passar dados de um controlador para sua visualização. Cada objeto controlador é criado, por padrão, ter um objeto de exibição instanciar com ele. O acesso a este objeto de exibição é feita através do $this->view
assessor.
Para enviar dados para o ponto de vista, nós simplesmente atribuir variáveis para o objeto de vista e dar-lhes valores, assim:
$this->view->variable_name = "variable value";
Voltando ao nosso projeto, abra IndexController.php
nos controllers
pasta e na indexAction
método, vamos passar a current date and time
para a nossa visão.
public function indexAction()
{
//action body
$this->view->current_date_and_time = date('M d, Y - H:i:s');
}
Então precisamos editar nosso view
para a saída desta variável. Para fazer isso, abra index.phtml
na pasta vista, e adicione o seguinte código:
...
...
...
<div id="welcome">
<h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1>
<hr /><h2>It is now <?php echo $this->current_date_and_time; ?></h2>
<h3>This is your project's main page</h3>
...
...
...
Como você pode ver, acessar a variável de dentro do arquivo de visão é tão simples como ecoando a variável através do comando PHP echo, echo $this->variable_name;
.
Agora, atualize seu navegador, e você deve ver a data atual e tempo na página.
Passo 6: Criar um layout em Zend Framework
Você deve ter notado que os scripts html em nosso projeto são apenas fragmentos e não páginas HTML completas, por isso falta-lhes html, head, and body
tags. Este não é realmente uma falha, mas foi feito por projeto - dessa forma, todas as ações retorno relativo de conteúdo somente para a ação em si, e não todo o aplicativo. Criando um layout global para o nosso site, nós vamos ser capazes de implementar um recipiente consistente HTML para todos os nossos scripts HTML.
Para começar, vamos abrir novamente o nosso prompt de comando e digite o seguinte comando. Verifique se você está dentro do thenextsocial
pasta.
zf enable layout
Permitindo um layout em nosso projeto de Zend Framework
A saída após a execução do comando sugere que um arquivo de layout chamado layout.phtml
foi criado dentro da application/layouts/scripts
pasta. Vamos abri-lo e dar uma olhada no que está dentro:
conteúdo layout.phtml
O comando echo $this->layout()->content;
é realmente o arquivo de layout repetindo todo o conteúdo do ponto de vista. Para criar nosso layout global então, precisamos quebrar esse comando com o nosso HTML:
<!DOCTYPE html>
<html>
<head>
<title>The Next Social</title>
<!-- Load Twitter Bootstrap and jQuery -->
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
</head>
<body>
<div id="site_container">
<div id="header">
<p>This is the header!</p>
</div>
<div id="content">
<!-- Echo our content here! -->
<?php echo $this->layout()->content; ?>
</div>
<div id="footer">
<p>This is the footer!</p>
</div>
</div>
</body>
</html>
Agora, atualize o navegador novamente e você deve ver as alterações:
Nossa action index com layout que acompanha
Passo 7: Criar novos controladores e Ações
Usando o ZF ferramenta CLI, podemos criar novos controladores e ações muito rapidamente. Para isso, basta executar o seguinte comando:
zf create controller About
About
nosso controlador é o nome novo. Se você verificar no interior do controllers
pasta, você deverá ver um AboutController.php
arquivo, indicando que a nossa geração controlador foi bem sucedida. Você também pode verificar o conteúdo das views
pasta e ver que um novo about/index.phtml
arquivo foi criado para o nosso About
controlador!
Criar nosso controlador Sobre
Devemos, então, ser capaz de acessar este controlador, indo para http://thenextsocial.local/about
Por padrão, a ZF ferramenta CLI cria uma ação para o nosso controlador, o indexAction
. Mas o que se queria acrescentar outras ações para o controlador?
Criando uma nova ação
Criando uma nova ação é como é fácil criar um novo controlador. Para isso, basta executar o seguinte comando:
zf create action us About
Isso efetivamente cria uma nova ação chamada us
dentro da About
do controlador. Verificando o AboutController.php
arquivo, você deve ver um novo usAction()
método, bem como um novo us.phtml
arquivo dentro da about
pasta vista.
Criando nossa ação nos Sobre o controlador
Como você pode ver, nós dependem fortemente a ferramenta CLI ZF para gerar ações e controladores. Criá-los manualmente funciona da mesma maneira, a ZF ferramenta CLI só torna mais simples e automaticamente faz o trabalho pesado para nós.
Conclusão
Depois de ler este tutorial, você já deve saber o seguinte:
- Onde baixar os arquivos mais recentes Zend Framework
- Onde e como configurá-lo localmente
- Criando seu projeto Framework Zend primeira ea criação de um VirtualHost no seu servidor web
- Como exatamente Zend Framework implementa o padrão MVC e sua aplicação de roteamento padrão
- Passando dados de um controlador para seu ponto de vista
- Criação de um layout de todo o site para a sua aplicação Zend Framework
- Criação de novos controladores e ações
A partir deste conhecimento, você deve facilmente ser capaz de criar páginas web estáticas. Mas todos nós sabemos isso não é suficiente!
No nosso próximo tutorial, vamos aprender tudo sobre como criar a parte mais crucial de qualquer aplicação web, o model
, e fazendo The Next Social
um site dinâmico!
Até então, fique atento!
PS Eu tenho registrado thenextsocial.com
para os fins deste projeto. Basta visitar o site regularmente e você vai vê-lo transformar a partir de um site simples para o site de redes full-featured sociais que pretendemos ter no final desta série. Além disso, todo o código fonte criado na série estará disponível em este repositório GitHub também!