gpt4 book ai didi

php - Zend Framework 2 包括自定义库

转载 作者:行者123 更新时间:2023-12-02 22:12:54 24 4
gpt4 key购买 nike

我的目录结构是这样的:

  • c:\Workspaces\Zend
  • c:\Workspaces\自定义库

自定义库是一个共享库,在其他应用程序中使用。它不使用 namespace ,仅使用旧式下划线。

我下载了 ZF2-Restful-Module-Skeleton,我打算将其用作 restful 服务器。在 InfoController 中我有这段代码:

namespace Main\Controller;

use Zend\Mvc\Controller\AbstractRestfulController;

class InfoController extends AbstractRestfulController
{
public function getList()
{
$data = array(
'phone' => '+30123456789',
'email' => 'email@domain',
);

$Res = new CL_Res_Chain_Mutable();

return $data;
}
}

错误信息是:

Fatal error: Class 'Main\Controller\CL_Res_Chain_Mutable' not found in C:\Workspaces\Zend\module\Main\src\Main\Controller\InfoController.php

显然,我需要将这个自定义库添加到我的 Zend 应用程序中,但我在这里“有点”迷路,我真的不知道该怎么做。我用谷歌搜索了几个解决方案,但似乎没有一个是这样的。

此外,我在文件夹 c:\Workspaces\Custom library 2 中还有另一个库,其中包含(在其他文件中)文件(类)D.php,我曾像 D::转储($数据);

我怎样才能让它像这样在我的 Zend 应用程序中工作?

最佳答案

您需要配置StandardAutoloader 来加载您的库类。最简单的方法是修改应用程序模块的 Module::getAutoloaderConfig() 方法,使其看起来像这样:

public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
'prefixes' => array(
'CL' => 'c:\\Workspaces\\Custom library/CL',
'D' => 'c:\\Workspaces\\Custom library 2/D',
),
),
);
}

我添加了一个 prefixes 键,然后列出了前缀名称以及在磁盘上的何处可以找到它。 Standard Autoloader documentation有更多详细信息。

如果您使用的是 Zend Skeleton Application您也可以简单地将这些 namespace 添加到您的 init_autoloader.php文件。

关于php - Zend Framework 2 包括自定义库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14952697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com