Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Zend Framework 2 : supprimer le module Application

Article posté le 16-06-2014 dans la catégorie PHP

Attention, le contenu cet article est peut-être obsolète!

Suite à mon article précédent sur le model, voici comment supprimer le dossier du module Application, présent par défaut dans le package ZF2. Il s'agit de récuperer tout le code ainsi que les éléments nécessaires au fonctionnement de notre module. Pour  rappel dans mon exemple, ce dernier se nomme "Livres".

Avant de commencer, copiez le dossier error se trouvant dans le répertoire view du module Application, pour le copier dans le dossier view de votre module.

1- Appel du module

Dans config/autoload/application.config.php, supprimez la ligne appelant le module Application. Il ne doit vous rester que ceci :

'modules' => array(
        'Livres',
    ),

2- Module.php

Dans le fichier Module.php à la racine du répertoire de votre module, il s'agit de coller les éléments provenant de son homologue du module Application. Dans mon cas, j'ai du insérer ceci :

use ZendMvcModuleRouteListener;
use ZendMvcMvcEvent;

puis rajouter cette méthode :

public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
    }

3- module.config.php

Dans votre fichier.module.config.php, il faut insérer les éléments nécessaires au fonctionnement de votre module, mais à également à présent les fonctions du framework.

Commençons par le view_manager, rajoutons :

'display_not_found_reason' => true,
        'display_exceptions'       => true,
        'doctype'                  => 'HTML5',
        'not_found_template'       => 'error/404',
        'exception_template'       => 'error/index',
        'template_map' => array(
            'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',
            'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
        ),
        'template_path_stack' => array(
            __DIR__ . '/../view',
        ),

Ensuite, le service_manager et le translator :

   'service_manager' => array(
        'abstract_factories' => array(
            'ZendCacheServiceStorageCacheAbstractServiceFactory',
            'ZendLogLoggerAbstractServiceFactory',
        ),
        'aliases' => array(
            'translator' => 'MvcTranslator',
        ),
    ),
    'translator' => array(
        'locale' => 'en_US',
        'translation_file_patterns' => array(
            array(
                'type'     => 'gettext',
                'base_dir' => __DIR__ . '/../language',
                'pattern'  => '%s.mo',
            ),
        ),
    ),

Enfin, la route pour que la home soit la page d'accueil de votre module, à adapter donc :

'home' => array(
                'type' => 'ZendMvcRouterHttpLiteral',
                'options' => array(
                    'route'    => '/',
                    'defaults' => array(  
                        '__NAMESPACE__' => 'LivresController',
                        'controller'    => 'Index', (1),
                        'action'        => 'index', (2) 
                    ),
                ),
            ),

 

Pour finir, supprimez le dossier du module Application. Le tour est joué!

 


Cet article vous a plu? Découvrez d'autres articles


Tweet
comments powered by Disqus