Charger un helper d'un plugin dans notre application

Par lakamark, il y a 10 ans


Bonjour,
Je me suis créer un petit plugin qui va me permetre de minifier mon code html sur cakephp 3. J'ai suivi le petit didacticiel sur la documentation sur comment créer un plugin Le problème est qui ne réussit pas à charger la classe Helper dans ma class MinifyHelper de mon plugin Cake3MinifyHtml

Fatal error: [Cake\View\Exception\MissingHelperException] Helper class MinifyHelper could not be found.

Voci mon code source de ma classe MinifyHelper

<?php namespace Cake3MinifyHtml\View\Helper; use Cake\View\Helper; use Cake\View\View; /** * Minify helper */ class MinifyHelper extends Helper { /** * Default configuration. * * @var array */ protected $_defaultConfig = [ ]; public function __construct(View $View, array $config = []) { parent::__construct($View, $config); } }

Je charge le Helper comme ceci dans mon application :`

$this->loadHelper('Cake3MinifyHtml.Minify');

Je ne comprend pasd'où vient cette erreur.

Merci

6 réponses

Lartak, il y a 10 ans

Bonsoir.
Pourrais-tu donner un peu plus de précisions ?
Ton plugin, est-il situé dans le dossier plugins de ton application ?
Si oui, l'as-tu chargé dans ton fichier bootstrap.php et as-tu bien fait un dumpautoload/dump-autoload avec Composer comme il est précisé/conseillé sur la documentation de CakePHP ?

lakamark, il y a 10 ans

Bonjour
J'ai bien charger mon plugin dans le bootstap.php de mon application :

Plugin::loadAll([ 'Media' => ['bootstrap' => false, 'routes' => true], 'Cake3MinifyHtml' => ['routes' => true] ]);

Le dumpautoload je fait sur mon application ou dans mon plugin?

Lartak, il y a 10 ans

Le dumpautoload je fait sur mon application ou dans mon plugin?

Dans l'application, à la racine du projet.

lakamark, il y a 10 ans

J'ai refait le plugin, ensuit j'ai fait un dumpautoload à la racine de mon application. Cakephp me retourne toujours la même erreur.

Xeta, il y a 10 ans

Hello,
Et avec ceci ?

Plugin::load('Cake3MinifyHtml', ['autoload' => true]);
lakamark, il y a 10 ans

Merci Finalement j'ai réussit avec ceci :

Plugin::loadAll([ 'Cake3MinifyHtml' => ['bootstrap' => false, 'routes' => true], ]);