所以我在课时没有找到子类或父母的麻烦。
例如,我有一个非常简单的类,它有一个子类,给我带来很多麻烦。
主类称为Activities,子类称为DirectMessage。
这是活动类布局。
namespace activities;
require_once(INCLUDES . '/classes/activities/DirectMessage.php');
class activities extends \BaseController {
}
这是DirectMessage的一个。
namespace DirectMessage;
use activities\activities;
class DirectMessage extends activities
{
}
我一直在使用活动,但是当我开始包含DirectMessage时,它开始给我这样的错误:Fatal error: Class 'activities\activities' not found in /includes/classes/activities/DirectMessage.php on line 13
不幸的是,它并不总是给我这个错误,所以它与我猜它被调用的地方有关。
有没有更好的方法require
我的子类?
答案 0 :(得分:2)
我建议您使用Composer's PSR-4 autoloading,即使您没有加载任何与Composer的依赖关系。这是我发现基本自动加载工作的最简单方法。
简而言之,PSR-4自动加载将允许您将名称空间映射到文件夹结构。 Composer将生成一个自动加载文件(vendor/autoload.php
) - 这将是您在整个项目中应该只有require()
的唯一文件。