Erreur : "Votre classe d'application ne possède pas de méthode bootstrap(). Veuillez en ajouter une."
P粉872182023
P粉872182023 2024-02-21 16:16:00
0
1
444

J'ai récemment commencé à créer une application localement en utilisant CakePHP 4.X. J'ai installé Composer et je l'ai utilisé pour installer avec succès le plugin d'authentification et d'autorisation CakePHP. Maintenant, j'essaie de passer à des plugins développés par la communauté comme

  • https://github.com/FriendsOfCake/bootstrap-ui
  • https://github.com/gutocf/page-title
  • https://github.com/dereuromark/cakephp-feedback

Je peux installer tous les plugins, mais lorsque j'essaie de charger les plugins, j'ai un problème. En suivant les instructions sur la page Git de chaque plugin, j'ai essayé de charger le plugin depuis la CLI en utilisant les lignes suivantes

bin\cake plugin load BootstrapUI

(J'utilise Windows donc j'utilise des barres obliques inverses)

Dans tous les cas je reçois le message suivant :

Your Application class does not have a bootstrap() method. Please add one.

Mon fichier src/Application.php ressemble à ceci

class Application extends BaseApplication
public function bootstrap() : void
{
    // Call the parent to `require_once` config/bootstrap.php
    parent::bootstrap();

    if (PHP_SAPI === 'cli') {
        $this->bootstrapCli();
    } else {
        FactoryLocator::add(
            'Table',
            (new TableLocator())->allowFallbackClass(false)
        );
    }

    /*
     * Only try to load DebugKit in development mode
     * Debug Kit should not be installed on a production system
     */
    if (Configure::read('debug')) {
        $this->addPlugin('DebugKit');
    }

    // Load more plugins here
    $this->addPlugin('Authorization');
    $this->addPlugin('Authentication');
    $this->addPlugin('BootstrapUI');
    
}

P粉872182023
P粉872182023

répondre à tous(1)
P粉198670603

Votre classe d'application est dans class Application extends BaseApplication 之后缺少 { mais je suppose qu'elle a été mal collée/modifiée ici.

Votre commande semble fonctionner car je vois que le plugin $this->addPlugin('BootstrapUI') a été ajouté au fichier.

Lors de l'exécution des commandes CLI, assurez-vous que vous êtes sur le bon chemin (dans le répertoire racine de votre application) :

bin\cake plugin load BootstrapUI

Vous pouvez ajouter des plugins manuellement dans la méthode bootstrap(), aucune CLI n'est requise.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal