Maison  >  Questions et réponses  >  le corps du texte

Erreur : "Votre classe d'application ne possède pas de méthode bootstrap(). Veuillez en ajouter une."

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

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粉872182023P粉872182023264 Il y a quelques jours402

répondre à tous(1)je répondrai

  • P粉198670603

    P粉1986706032024-02-22 13:17:49

    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.

    répondre
    0
  • Annulerrépondre