Wordpress自定义插件中的Composer自动加载

问题描述 投票:0回答:1

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

这里是插件目录层次结构

enter image description here

我的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'

为什么作曲家dumpautoload -o返回0个类?我在做什么错?

谢谢

php wordpress composer-php autoload
1个回答
0
投票

首先(从文件结构上不明显),您需要为Ecommerce类(即G4S_Ecommerce/Includes)设置名称空间

第二,基于您在autoload指令中声明的内容,composer期望在G4S_Ecommerce文件夹下找到src文件夹,并且在该文件夹中,您需要将php类文件放置为与类名(即Ecommerce)。

© www.soinside.com 2019 - 2024. All rights reserved.