zend-i2, começando com o zend-i2

Observações

Zend Framework 2 (ZF2) é uma moderna e flexível framework PHP que ajuda na web programadores para criar aplicativos da web de diferentes complexidades. O principal patrocinador da empresa Zend Framework é a Zend Technologies, o que a torna muito forte e estável. Existem duas grandes melhorias nesta segunda versão sobre o ZF1. Primeiro, uma arquitetura baseada em módulo foi adotada por padrão sem nenhum ajuste. Isso é útil ao desenvolver um aplicativo da web de grande porte que requer uma decomposição em módulos. Em segundo lugar, ZF2 implementa todos os recursos PHP5.3+ pode oferecer particularmente os namespaces. Nas versões anteriores, um controlador de classe é denominada da seguinte forma:

class IndexController extends Zend_Controller_Action{}

Essa mesma classe é reescrito da seguinte forma ZF2:

namespace Application\Controller;use Zend\Mvc\Controller\AbstractActionController;class IndexController extends AbstractActionController{}

A seguir estão alguns outros recursos interessantes do ZF2:

  • Injeção de Dependência
  • EventManager
  • ServiceManager

Um simples Olá Mundo

Na linha de comando, entre no diretório que você deseja criar o projeto e, em seguida, digite: composer create-project zendframework/skeleton-application helloWorldTest . Durante a instalação, você será perguntado se deseja uma instalação mínima: digamos que sim no momento, estamos apenas testando.

por uma questão de simplicidade, usaremos o servidor CLI PHP integrado. Na linha de comando, entre no diretório raiz do seu projeto (helloWorldTest) e execute : php -S 0.0.0.0:8080 -t public/ public/index.php . Agora, abra seu navegador da web e vá para http://localhost/, você deve ver a página de boas-vindas do aplicativo ZF2 Skeleton.

se você fizer isso, vamos agora configurar uma nova página. Em module/Application/config/module.config.php você pode ver que uma rota dinâmica é já o programa de configuração para a subpasta da aplicação:

return , 'application' => ', 'defaults' => , ], ], ], ], 

Definir uma nova acção “helloWorldAction() ” em module/Applicaiton/src/Controller/IndexController.php :

class IndexController extends AbstractActionController{ public function indexAction() { ... } public function helloWorldAction() { return new ViewModel(); }} 

Finalmente, crie o arquivo de modo de exibição module/Application/view/application/index/hello-world.phtml com o seguinte conteúdo:

<?phpecho "Hello World !"; 

Agora, vá para http://localhost/application/hello-world, e dizer oi para ZF2 !

como criar uma fábrica

quando uma classe precisa ser fornecida com dependências rígidas, a melhor prática é usar um padrão de injeção de construtor onde essas dependências são injetadas usando uma fábrica.

vamos supor que MyClass é difícil dependente de um valor $dependency que precisa ser resolvido a partir da configuração do aplicativo.

<?phpnamespace Application\Folder;use Zend\ServiceManager\FactoryInterface;use Zend\ServiceManager\ServiceLocatorInterface;class MyClass{ protected $dependency; public function __construct($dependency) { $this->dependency = $dependency; }} 

para injetar essa dependência, uma classe de fábrica é criada. Esta fábrica resolverá a dependência da configuração e injetará o valor de configuração na construção da classe e retornará o resultado:

<?phpnamespace Application\Factory;use Zend\ServiceManager\FactoryInterface;use Zend\ServiceManager\ServiceLocatorInterface;class MyClassFactory implements FactoryInterface{ public function createService(ServiceLocatorInterface $serviceLocator) { $config = $servicelocator->get('Config'); $dependency = $config; $myClass = new MyClass($dependency); return $myClass; }} 

agora que a classe factory foi criada, ela deve ser registrada dentro da configuração do Gerenciador de serviços no arquivo de configuração do módulo module.config.php nas principais fábricas. É uma boa prática usar os mesmos nomes, tanto para a classe e a fábrica, de modo que é fácil encontrá-las na pasta de projeto árvore:

<?phpnamespace Application;return array( //... 'service_manager' => ], //...); 

Alternativamente, o nome da classe de constantes pode ser utilizada para registrá-los:

<?phpnamespace Application;use Application\Folder\MyClass;use Application\Factory\MyClassFactory;return array( //... 'service_manager' => ], //...); 

Agora a classe pode ser recolhida no service manager usando a chave que usamos quando registar a fábrica para essa classe:

 $serviceManager->get('Application\Folder\MyClass'); 

ou

 $serviceManager->get(MyClass::class); 

o Gerenciador de serviços encontrará, coletará e executará a fábrica e, em seguida, retornará sua instância de classe com a dependência injetada.

instalação ou configuração

instruções detalhadas sobre como configurar ou instalar o Zend Framework 2. Existem várias maneiras de instalar a estrutura. Abaixo estão alguns deles:

usando Composer-Recommended way

supondo que composer esteja instalado na caixa de destino.

Para instalar um esqueleto aplicativo MVC, execute no terminal para criar um novo zend framework 2 do projecto no local especificado:

php composer.phar create-project -sdev \ --repository-url="https://packages.zendframework.com" \ zendframework/skeleton-application path/to/install 

para instalar manualmente um mínimo de ZF2 (MVC do Zend + seu punhado de dependências), executar na linha de comando:

composer require zendframework/zend-mvc 

ou para uma completa ZF2 (+64 módulos):

composer require zendframework/zendframework` 

Por favor, note que a primeira opção executa um instalador que irá fornecer-lhe com um totalmente functionnal aplicação, juntamente com o habitual aplicação de estrutura de pastas. Outras opções permitirão que você construa todo o aplicativo do zero, pois ele simplesmente fornece módulos ZF2 para construir.

Usando o Git Submódulos

Execute o comando abaixo para clonar zf2 e dependências recursivamente a partir do Github:

git clone git://github.com/zendframework/ZendSkeletonApplication.git --recursive 

HTTP Configuração do Servidor

Uma aplicação web normal requer a execução de um serviço HTTP escutando uma porta dedicada (normalmente :80) para passar a receber solicitações de aplicação, processo e servir a saída (resposta) de volta.

Nota: Você também pode escrever aplicativos com reconhecimento de console no Zend Framework 2 sem a necessidade de um Servidor HTTP.

Opção 1-servidor CLI PHP

a maneira mais simples de começar se você estiver usando o PHP 5.4 ou superior é iniciar o servidor CLI PHP interno no diretório raiz.

vá para o diretório do projeto e execute:

php -S 0.0.0.0:8080 -t public/ public/index.php`. 

isso iniciará o CLI-server integrado na porta 8080 e o vinculará a todas as interfaces de rede.

Opção 2 – Um Servidor HTTP personalizado

Configure um virtualhost no servidor Apache ou Microsoft IIS ou Nginx e passe as solicitações HTTP recebidas para o aplicativo.

Deixe uma resposta

O seu endereço de email não será publicado.