Introdução ao primeiro módulo Blog
Agora que sabemos o básico de Zend Framework 2 Skeleton Application, vamos continuar ea criar o módulo. Nos iremos criar um módulo com nome de "Blog". Neste módulo iremos listar os posts cadastrados no blog.
Iremos exibir no post as três propriedade id, text e title. Nos iremos criar formulário para cadastrar novos posts e editar nossos posts.Além disso iremos utilizar a melhorias práticas que foi utilizado no Quickstart.
Escrevendo o novo módulo
Vamos começar a criar o novo módulo, iremos criar uma nova pasta dentro da pasta /module com o nome de Blog.
Para o módulo ser reconhecido pelo ModuleManager é precisso criar a classe PHP com o nome de Module dentro do módulo com o namespace Blog. Criaremos o arquivo em /module/Blog/Module.php
<?php
namespace Blog;
class Module
{
Agora iremos que o nosso módulo foi detectado pelo ZF2s Module Manager. Iremos adicionar o módulo em nossa aplicação.Embora o nosso módulo não tenha nada, temos o arquivo Module.php classe que será carrega pelo ZF2s ModuleManager. Para isso adicionaremos a entrada Blog no módulo dentro da array de nossa aplicação /config/application.config.php
<?php
// Filename: /config/application.config.php
return array(
'modules' => array(
'Application',
'Blog'
),
// ...
);
Configurando o Módulo
A próxima atividade que iremos fazer é adicionar a rota em nossa aplicação se você acessar a url sua-url.dev/blog irá ver que a página não foi encontrada. Para resolver esse problema iremos adicionar a rota na configuração do módulo, mas primeiro precisamos que o ModuleManager saiba que nosso módulo tem as configurações necessárias para ser carregada.
Com isso pronto podemos adicionar o método getConfig() em nossa classe Module que irá retornar a configuração. Essa função é definida dentro de ConfigProviderInterface embora atualmente a implementação dessa interface dentro do módulo é opcional. Essa função deve retornar um array ou um objeto Traversable. Continuando a edição de nossa classe /module/Blog/Module.php:
Com o nosso módulo agora configurado. Configurando os arquivos ele podem se tornar muito grandes e manter dentro do getConfig() a função pode não ser muito otimizada. Para ajudar o projeto iremos organizar nosso array de configuração e separar o arquivo. Vá em frente e crie o arquivo /module/Blog/config/module.config.php
Agora iremos reescrever o método getConfig() iremos incluir a seguinte linha em nosso método
return include DIR . '/config/module.config.php';
Agora iremos adicionar o conteúdo dentro do arquivo module.config.php que irá definir a rota do nosso arquivo.
Nós iremos agora chamar o nosso módulo onde podemos encontrar o controle pelo nome Blog\Controller\List. Para arquivar isso nós temos que adicionar a chave para o controllers configurando dentro de sua chave /module/Blog/config/module.config.php