我刚刚开始编写一个新插件,并使用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';