[英]loading a class from a parent namespace
我正在以模块化方式开发应用程序,也就是说,我有一个接口,并且我想对实现该接口的所有类进行单元测试,因此我制作了一个实现了所有逻辑的抽象类(测试是否该类实际上是在实现接口,测试返回值,等等),但是当我尝试继承抽象类时,我class not found exception
一个class not found exception
我正在使用名称空间,因此我的目录结构是这样的
namespaceA
|->abstract.php
|->namespaceB
|->pluginTest.php
所以我的pluginTest.php类定义是这样的
namespace namespaceA\namespaceB;
use namespaceA\Abstract;
class pluginTest extends Abstract
显然在我的抽象类中有namespaceA定义,我也尝试过手动包含文件( include("../Abstract.php")
),但是它失败了,但是由于我使用了一段时间的自动加载功能,也许我不知道我还不太清楚如何手动导入,我也尝试过使用该类的别名( using namespaceA\\Abstract as X
),并在namespaceA之前放置一个\\
,但没有任何作用,我做错了什么,或者我错过了什么
==编辑==
我设法使用加载课程
include __DIR__ ."/../Abstract.php";
但仍然无法自动加载
我解决了它,我只需要将测试目录添加到module.php这样
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'namespaceA' => __DIR__ . '/test/' .'namespaceA', //added this line
),
),
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.