如何在CakePHP 3中手动安装插件?

如何在CakePHP 3中手动安装插件?,cakephp,cakephp-3.0,cakephp-3.x,Cakephp,Cakephp 3.0,Cakephp 3.x,我无法使用Composer,因此必须手动安装,但以下来自官方CakePHP文档的示例似乎不起作用 下面是我遵循的安装流程: 1.)将插件复制到app/plugins/CakePdf 2.)更新了应用程序的composer.json文件,如下所示: "autoload": { "psr-4": { "CakePdf\\": "./plugins/CakePdf/src", "CakePdf\\Test\\": "./plugins/CakeP

我无法使用
Composer
,因此必须手动安装,但以下来自官方CakePHP文档的示例似乎不起作用

下面是我遵循的安装流程:

1.)将插件复制到
app/plugins/CakePdf

2.)更新了应用程序的
composer.json
文件,如下所示:

"autoload": {
    "psr-4": {
            "CakePdf\\": "./plugins/CakePdf/src",
            "CakePdf\\Test\\": "./plugins/CakePdf/tests"
    }
},
"autoload-dev": {
    "psr-4": {
        "App\\Test\\": "tests",
        "Cake\\Test\\": "./vendor/cakephp/cakephp/tests"
        "CakePdf\\": "./plugins/CakePdf/src",
        "CakePdf\\Test\\": "./plugins/CakePdf/tests"
    }
}
3.)在
bootstrap.php
中加载插件:

Plugin::load('CakePdf', ['bootstrap' => true, 'routes' => true, 'autoload' => true]);
4.)添加了路由器扩展:

Router::extensions(['pdf']);
5.)尝试了插件文档中的一个非常简单的示例:

$cakePdf = new CakePdf(array(
    'engine' => 'CakePdf.DomPdf',
    'pageSize' => 'A4',
    'orientation' => 'portrait'
)); 

$html = '<html><head><body><p>Pdftest</p></body></head></html>';

$rawPdf = $CakePdf->output($html);
对于如何手动安装插件,我非常感谢任何帮助或指导


如果我需要提供任何其他信息,请询问。

您会遇到此错误,因为在
vendor/composer/
中,您可以看到一些
自动加载*.php
文件。这些文件包含加载类的路径。我认为没有人能安全地告诉你更新什么以及这些文件中的位置

因此,您有两种解决方案:

1-在本地计算机上复制
composer.json
,然后运行
composer update
。然后移动应用程序中创建的文件。我建议在开始之前做个备份。最有可能的情况是,你必须搬家:

 vendor/
 composer.json
 composer.lock
2-开始使用插件的路径更新
vendor/composer/autoload.*.php
中的文件。您很可能只需要更新以下两个文件:


vendor/cakephp plugins.php
vendor/composer/autoload_psr4.php
。就我个人而言,我不会选择第二个解决方案,我只是将其添加为备用方案以防万一。

您会遇到此错误,因为在
vendor/composer/
中,您可以看到一些
自动加载的.php
文件。这些文件包含加载类的路径。我认为没有人能安全地告诉你更新什么以及这些文件中的位置

因此,您有两种解决方案:

1-在本地计算机上复制
composer.json
,然后运行
composer update
。然后移动应用程序中创建的文件。我建议在开始之前做个备份。最有可能的情况是,你必须搬家:

 vendor/
 composer.json
 composer.lock
2-开始使用插件的路径更新
vendor/composer/autoload.*.php
中的文件。您很可能只需要更新以下两个文件:


vendor/cakephp plugins.php
vendor/composer/autoload_psr4.php
。就我个人而言,我不会选择第二种解决方案,我只是将其作为备用方案添加,以防万一。

简单地更新composer.json不会有任何好处。之后必须运行
composer update
。简单地更新composer.json不会有任何好处。之后必须运行
composer update
。您的注释很有用。只需要补充一点,我们需要在特定的插件而不是根文件夹中更新这个命令。你的评论很有用。只需要补充一点,我们需要在特定的插件而不是根文件夹中更新这个命令。