cakephp 错误:“您的应用程序类没有bootstrap()方法,请添加一个,”

hgc7kmma  于 2022-11-24  发布在  PHP
关注(0)|答案(1)|浏览(159)

我最近开始使用CakePHP 4.X在本地构建一个应用程序。我安装了Composer,并使用它成功地安装了CakePHP身份验证和授权插件。

我可以安装所有的插件,但是当我尝试加载插件时,问题出现了。根据每个插件Git页面上的说明,我尝试使用下面的行从CLI加载插件

bin\cake plugin load BootstrapUI

(我使用的是Windows,因此使用反斜杠)
在所有情况下,我都会收到以下消息:

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

我的src/Application.php文件看起来像这样

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');
    
}
dfuffjeb

dfuffjeb1#

您的Application类在class Application extends BaseApplication之后缺少{,但我猜它在此处粘贴/编辑不正确。
您的命令似乎工作,因为我看到插件$this->addPlugin('BootstrapUI')已经添加到文件中。
确保在执行CLI命令时位于正确的路径(在应用的根目录中):

bin\cake plugin load BootstrapUI

您可以在bootstrap()方法中手动添加插件,而无需CLI。

相关问题