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 !
Une fois votre module créé, voici comment supprimer le module applicationSuite à 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 :