Question

Je souhaite écrire une application php en utilisant Zend Framework 2 (juste la version bêta 2 pour l'instant).

Parce qu'il s'agira d'une collection de plusieurs services Web, j'ai décidé de le séparer en différents modules (avec leurs propres bases de données).

Avant de commencer à écrire le premier module, je souhaite écrire le code dont chaque module devrait avoir besoin.Par exemple la mise en page.Chaque module utilise la même disposition.C'est pourquoi je souhaite l'écrire globalement pour améliorer le processus de développement de modules uniques.

Comment puis-je fournir des valeurs par défaut pour chaque module globalement ?(par exemple.mise en page, plugin, modèle de base de données par défaut, ...)

Était-ce utile?

La solution

Dans ZendFramework2, les configurations de tous les modules sont toujours fusionnées.De plus, il existe une configuration globale qui peut écraser la configuration par module.Ainsi, l'inclusion d'un module fournisseur apporte une configuration par défaut que vous pouvez et devez écraser via votre configuration globale.La configuration globale peut être constituée de plusieurs fichiers, ce qui facilite la distinction entre les modules à configurer.

Le premier exemple que j'ai est un article d'Akrabat sur la configuration et les remplacements du module.

Un autre bon exemple de ce modèle est le démarrage rapide d'Akrabat (https://github.com/akrabat/zf2-tutorial):

  • un module d'application, basé sur ZendSkeletonApp
  • un module Album, la partie que vous avez réellement faite.

Dans le module d'applications, il y a une configuration pour le routage de base, les vues et la mise en page sont configurées dans le module d'album, il n'y a que la configuration pour les choses spécifiques à l'album (par exempleinjection de dépendances), la vue et le routage sont utilisés à partir de la configuration des modules App.

Vous pouvez décider d'écraser cette configuration module par module ou globalement, dans la présentation par défaut du projet, vos configurations sont placées comme ceci :

/config/application.config.php la configuration de base
/config/autoload/*.config.php peut être utilisé pour écraser des modules ou la configuration d'une application (par ex.pour le développement local)
/module/[your-module]/config/[your-module].config.php la configuration par défaut de votre module
/vendor/[vendor-module]/config/[vendor-module].config.php un module que vous avez déposé, mais qui contient des définitions pour son injection de dépendances.s'il utilise par ex.une base de données que vous souhaitez écraser quelques paramètres dans votre /config/autoload/*

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top