【问题标题】:Composer autoload in Wordpress custom pluginWordpress 自定义插件中的 Composer 自动加载
【发布时间】:2020-07-22 08:57:48
【问题描述】:

我正在开发一个全新的 Wordpress 插件,我想使用 Composer 来自动加载类。

这是插件目录层次结构

我的 composer.json 内容:

{
    "autoload": {
        "psr-4": {
            "G4S_ECommerce\\": "src"
        }
    }
}

在composer.json所在的目录下,在cmd上,我执行:

composer install -> this generates the vendor/composer folder and the vendore/autoload.php.

composer composer dumpautoload -o -> outputs "Generated optimized autoload files containing 0 classes"

在主文件 G4S_Ecommerce.php 我放了下面一行:

 require __DIR__.'/vendor/autoload.php';

在我放的同一个文件中

use G4S_Ecommerce\Includes\Ecommerce;

$starter = new Ecommerce();

但它导致我出现 致命错误:未捕获的错误:找不到类“G4S_Ecommerce\Includes\Ecommerce”

为什么 composer dumpautoload -o 返回 0 个类?我做错了什么?

谢谢

【问题讨论】:

    标签: php wordpress composer-php autoload


    【解决方案1】:

    首先(从您的文件结构中看不出来)您需要为您的Ecommerce 类设置一个命名空间(即G4S_Ecommerce/Includes

    其次,根据您在 autoload 指令中声明的内容,composer 期望在 src 文件夹下找到 G4S_Ecommerce 文件夹,并且您需要在该文件夹中放置名称相同的 php 类文件到类名(即Ecommerce)。

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 2017-05-06
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      相关资源
      最近更新 更多