通过包含的php文件在名称空间中找不到类。 (WordPress插件)

时间:2019-01-06 07:11:24

标签: php

我刚刚开始编写一个新插件,并使用xampp在本地计算机上进行开发。

只需设置文件结构,我就会在我的命名空间中遇到“找不到类”错误。

这是文件结构

\marketing-machine.php
\includes\marketing\baseMarketing.php
\includes\marketing\facebook\facebookShareDiscount.php

php文件的内容

marketing-machine.php

namespace Dazamate\Marketing;

define( 'Dazamate\Marketing\PLUGIN_BASE_URL', plugin_dir_url( __FILE__ ) );

require_once('includes/marketing/facebook/facebookShareDiscount.php');

baseMarketing.php:

namespace Dazamate\Marketing;

echo 'includes success';

abstract class MarketingBase {

    public function __construct() {
        echo 'I am loaded';
    }
}

facebookShareDiscount.php

namespace Dazamate\Marketing;

require_once( PLUGIN_BASE_URL . 'includes/marketing/baseMarketing.php' );

class FacebookShareDiscount extends MarketingBase {

    public function __construct() {

    }
}

这是有错误的输出

includes success
Fatal error: Class 'Dazamate\Marketing\MarketingBase' not found in 
D:\xampp_php7\...\-wc-marketing- 
第8行上的

machine \ includes \ marketing \ facebook \ facebookShareDiscount.php

第8行是类声明

class FacebookShareDiscount extends MarketingBase {

由于baseClass php文件正在回显测试echo语句,因此路径似乎不是问题。

我尝试过将命名空间添加到基类中,例如

class FacebookShareDiscount extends \Dazamate\Marketing\MarketingBase {

那是行不通的,而且我不明白如果我们在同一个命名空间中,为什么我们需要这样做。

我在这里俯瞰什么,这很愚蠢,我会很尴尬。

我的xampp正在运行php 7

echo 'thankyou';

0 个答案:

没有答案