我正在尝试在ZF2中的vendor文件夹中创建库。结构如下:
/Vendor
/Mylib
/Mylib.php
/MylibStore.php
/MylibError.php
....
我在 Applicaiotion/Module.php
:
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
'Mylib' => __DIR__ . '/../../vendor/Mylib',
),
),
);
}
现在我在控制器中调用Mylib类它正在工作,但是当我试图在控制器中实例化其他类时它会给出错误。这是代码的快照:
Mylib.php
namespace Mylib;
abstract class Mylib
{
MylibStore.php
namespace MylibStore;
use \Mylib\MylibError;
class MylibStore extends MylibError
{
MylibError.php
namespace MylibError;
class MylibError
{
我收到以下错误:
致命错误:找不到类'MylibStore \ MylibError' 第5行的C:\ xampp \ htdocs \ coxaxle \ vendor \ Mylib \ MylibStore.php
请让我知道我做错了什么?我该如何解决这个问题?
答案 0 :(得分:1)
问题在于您的命名空间。 Mylib
目录中的所有文件都应该具有相同的namespace
- Mylib
这就是为什么只有Mylib
类有效,因为它有正确的namespace
。
如果将类放在不同的目录中,则必须更新有关此目录的命名空间。
示例:强>
/Vendor
/Mylib
/Service
/MylibService.php
/Mylib.php
....
类Mylib
应该具有名称空间Mylib
类MylibService
应该具有名称空间Mylib\Service