Vous pouvez faire beaucoup de choses avec les méthodes load et loadAll pour
vous aider avec la configuration et le routing d’un plugin. Peut-être
souhaiterez vous charger tous les plugins automatiquement, en spécifiant
des routes et des fichiers de bootstrap pour certains plugins.
Avec ce type de configuration, vous n’avez plus besoin de faire manuellement un
include() ou un require() d’une configuration de plugin ou d’un fichier de
routes–Cela arrive automatiquement au bon moment et à la bonne place. Un
paramètre totalement identique peut avoir été fourni à la méthode load(),
ce qui aurait chargé seulement ces trois plugins, et pas le reste.
Au final, vous pouvez aussi spécifier un ensemble de valeurs dans defaults pour
loadAll qui s’applique à chaque plugin qui n’a pas de configuration spécifique.
Chargez le fichier bootstrap à partir de tous les plugins, et aussi les routes
du plugin Blog:
Notez que tous les fichiers spécifiés doivent réellement exister dans le(s)
plugin(s) configurés ou PHP vous donnera des avertissements pour chaque
fichier qu’il ne peut pas charger. C’est particulèrement important à
retenir quand on spécifie defaults pour tous les plugins.
CakePHP 2.3.0 ajoute une option ignoreMissing, qui vous permet d’ignorer
toute route manquante et les fichiers de bootstrap quand vous chargez les
plugins. Vous pouvez raccourcir le code en chargeant tous les plugins en
utilisant ceci:
// Charge tous les plugins y compris les possibles routes et les fichiers de bootstrapCakePlugin::loadAll(array(array('routes'=>true,'bootstrap'=>true,'ignoreMissing'=>true)));
Certains plugins ont besoin en supplément de créer une ou plusieurs tables
dans votre base de données. Dans ces cas, ils incluent souvent un fichier
de schéma que vous appelez à partir du shell de cake comme ceci:
user@host$cakeschemacreate--pluginContactManager
La plupart des plugins indiqueront dans leur documentation leur propre
procédure pour les configurer et configurer la base de données. Certains
plugins nécessiteront plus de configuration que d’autres.
Si vous souhaitez charger plus d’un fichier bootstrap pour un plugin, vous
pouvez spécifier un tableau de fichiers avec la clé de configuration
bootstrap:
Vous pouvez référencer les controllers, models, components, behaviors et
helpers du plugin en préfixant le nom du plugin avant le nom de classe.
Par exemple, disons que vous voulez utiliser le ContactInfoHelper du plugin
ContactManager pour sortir de bonnes informations de contact dans une de
vos vues. Dans votre controller, le tableau $helpers pourrait ressembler
à ceci:
Comment Utiliser des Plugins¶
Avant d’utiliser un plugin, vous devez avant tout l’installer et l’activer. Voir Comment Installer des Plugins.
Configuration du Plugin¶
Vous pouvez faire beaucoup de choses avec les méthodes load et loadAll pour vous aider avec la configuration et le routing d’un plugin. Peut-être souhaiterez vous charger tous les plugins automatiquement, en spécifiant des routes et des fichiers de bootstrap pour certains plugins.
Pas de problème:
Avec ce type de configuration, vous n’avez plus besoin de faire manuellement un include() ou un require() d’une configuration de plugin ou d’un fichier de routes–Cela arrive automatiquement au bon moment et à la bonne place. Un paramètre totalement identique peut avoir été fourni à la méthode load(), ce qui aurait chargé seulement ces trois plugins, et pas le reste.
Au final, vous pouvez aussi spécifier un ensemble de valeurs dans defaults pour loadAll qui s’applique à chaque plugin qui n’a pas de configuration spécifique.
Chargez le fichier bootstrap à partir de tous les plugins, et aussi les routes du plugin Blog:
Notez que tous les fichiers spécifiés doivent réellement exister dans le(s) plugin(s) configurés ou PHP vous donnera des avertissements pour chaque fichier qu’il ne peut pas charger. C’est particulèrement important à retenir quand on spécifie defaults pour tous les plugins.
CakePHP 2.3.0 ajoute une option
ignoreMissing
, qui vous permet d’ignorer toute route manquante et les fichiers de bootstrap quand vous chargez les plugins. Vous pouvez raccourcir le code en chargeant tous les plugins en utilisant ceci:Certains plugins ont besoin en supplément de créer une ou plusieurs tables dans votre base de données. Dans ces cas, ils incluent souvent un fichier de schéma que vous appelez à partir du shell de cake comme ceci:
La plupart des plugins indiqueront dans leur documentation leur propre procédure pour les configurer et configurer la base de données. Certains plugins nécessiteront plus de configuration que d’autres.
Aller plus loin avec le bootstrapping¶
Si vous souhaitez charger plus d’un fichier bootstrap pour un plugin, vous pouvez spécifier un tableau de fichiers avec la clé de configuration bootstrap:
Vous pouvez aussi spécifier une fonction qui pourra être appelée quand le plugin est chargé:
Utiliser un Plugin¶
Vous pouvez référencer les controllers, models, components, behaviors et helpers du plugin en préfixant le nom du plugin avant le nom de classe.
Par exemple, disons que vous voulez utiliser le ContactInfoHelper du plugin ContactManager pour sortir de bonnes informations de contact dans une de vos vues. Dans votre controller, le tableau $helpers pourrait ressembler à ceci:
Vous serez ensuite capable d’accéder à ContactInfoHelper comme tout autre helper dans votre vue, comme ceci: