如何在 zend Framework 2 中创建工厂?

2023-11-24

in my Module.php我有以下方法,我想将它们移动到factory class这样我就不会弄乱Module class:

public function getControllerConfig()
{
    return array(
        'factories' => array(
            'account-index' => function ($controllerManager) {
                $serviceManager = $controllerManager->getServiceLocator();
                $accountService = $serviceManager->get('account-service');

                return new Controller\IndexController($accountService);
            }
        )
    );
}

public function getServiceConfig()
{
    return array(
        'factories' => array(
            'account-service' => function ($serviceManages) {
                return new Service\Account;
            }
        )
    );
}

现在我有:

我该把这个放在哪里factory class,也许在一个Factory folder?

有任何想法吗?


我通常把我的工厂放在../module/yourmodule/src/yourmodule/Factory.

in your ../module/yourmodule/config/module.config.php然后你必须像这样配置你的 service_manager :

'service_manager' => array(
   'factories' => array(
      'yourfactory' => 'yourmodule\Factory\yourfactory',
   ),
),

in yourfactory.php然后,您必须实现工厂接口并设置服务定位器。完成此操作后,您应该能够以控制器、表单等的常用方式调用该服务。

namespace Application\Factory;

use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;

class yourfactory implements FactoryInterface
{

private $config;

private $serviceLocator;

public function createService(ServiceLocatorInterface $serviceLocator)
{
    return $servicelocator->get('Your\Service');
}

之后,您可以在您的中定义函数yourfactory.php。在你的控制器中你可以像这样调用函数$serviceManager->get('yourfactory')->yourfunction(yourarguments);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 zend Framework 2 中创建工厂? 的相关文章

  • 人类可读的 JSON:又名向 json 转储添加空格和换行符

    是否有一个 简单 脚本可以获取 json 数据并对其进行格式化以使其更具可读性 例如 response is a json encoded string var dump response 上面的内容在一行上输出所有内容 我希望将其缩进并加
  • Eclipse 和 Zend 调试器总是在第一行中断,尽管未选中该选项

    我取消选中了在第一行中断PHP 调试配置中的选项 但无论如何它仍然在第一行中断 我怎样才能防止这种情况发生 我正在使用 MacOSX Eclipse PDT 3 0 2 和 Zend 调试器 经过大量谷歌搜索后 我找到了如何解决这个问题 可
  • 404 路由无法匹配请求的 URL

    我刚刚开始学习zend 框架 questions tagged zend framework并遵循此用户指南 http framework zend com manual 2 3 en index html 我能够成功安装zend skel
  • 使用 Sendemail 的 HTML 表单

    我不知道问题出在哪里 mail 工作正常 我已经用一个简单的 php 文件对其进行了测试 但我的表单不发送任何电子邮件 HTML section div class wow fadeIn div div class parallax div
  • 如何通过索引获取 PHP DOMDocument 的子级

    我正在尝试获取 PHP DOMDocument 的子级 假设我有一个这样的 DOM 文档 div h1 h1 div div div class test div div 我有一个索引号3 然后我需要获取该元素 div class test
  • PHP如何找到Web服务器的临时路径?

    当您处理 HTTP 上传时 文件将上传到 FILES field name tmp name 我知道我可以从那里提取临时路径 但我期待着也许 SERVER具有临时路径 没有 或其他优雅的方式来了解它的参数 有没有 ini get uploa
  • PHP 中的 == 和 === 运算符

    假设我有一个始终是字符串的变量 现在使用下面的代码 if myVar teststring Note myVar永远是一个字符串 所以我的问题是 哪个更快 最好 使用 身份 或 平等 身份测试总是更快 因为 PHP 不需要 Type Jug
  • WordPress Loop:如何将每 3 个帖子包装到一个 div 中?

    我正在尝试这个 div div 但这不起作用 谢谢你 感谢各位的支持 我尝试了两种解决方案 但都不起作用 我最终做到了这
  • 在php mysql排行榜表中显示用户排名?

    我创建了一个测验页面 将登录用户的测验结果存储到排行榜 我有一个名为 Members 的表 其中包含 user 和 quiz score 列 我根据登录用户进行的测验结果打印出排行榜 我在个人资料页面的排行榜中显示特定用户的位置时遇到问题
  • 多个提交按钮

    我在 HTML 和 PHP 中遇到多个提交按钮时遇到问题 我尝试为基于 Web 的计算器编写 GUI 代码 这确实很容易 但是 php 中的函数并不那么容易 所以我有这个简单的 GUI 有 6 个提交按钮
  • Memcached 获取慢、CPU 使用率高

    我在机器上运行了一个 memcached 实例来承受数据库的压力 目前 通过 PHP 每秒约有 350 个请求 根据 memcached 文档 这应该是完全可行的 但我发现 get 时间慢得离谱 平均约为 60 毫秒 双向都有峰值 0 1
  • 从 Magento 产品视图中的可配置产品中获取所有简单产品

    如何获取与可配置产品关联的所有简单产品 我找到了如何做相反的事情 从简单的产品获得可配置的产品 但这不是我需要的 我想显示所选产品的库存数量 可配置属性 我最初的想法是打印所有数量的库存并用 jQuery 控制显示 任何想法 使用下面的代码
  • Symfony2:间歇性高响应时间/缓慢 SessionHandlerProxy::read() 完成

    我看到来自 Symfony2 会话管理器组件的非常奇怪的行为 特别是 SessionHandlerProxy read 函数在我的生产环境中有时会非常慢 Symfony Component HttpFoundation Session St
  • Memcached set() 失败:写入失败

    因此 Memcached 无法写入某些键 getResultMessage 说WRITE FAILURE我在设置中使用它 this gt mmcache new Memcached this gt mmcache gt addServer
  • 如何跨页面播放背景音乐

    我已经读过这个问题 我知道它只能用框架来完成 我真的不想要全站点 AJAX 如何在多个 HTML 页面上播放背景音频 https stackoverflow com questions 4210370 how to play a backg
  • 处理 PHP 中的会话劫持

    阅读了 Stackoverflow 上有关会话劫持的许多问题 我发现验证用户会话的唯一 解决方案 是检查用户代理 这是一个薄弱的保护层 我什至懒得去检查实施它 所以 我想知道你们实施了哪些解决方案 您是否使用 PHP 的本机会话或者是否有更
  • PHP 中的依赖注入

    我一直在研究依赖注入 我是在关注某件事还是完全没有关注 代码是好是坏 依赖注入与否 下面的代码是CMS系统的基础 现在有一个名为 page details 的表 其中存储了所有网页 目录 文件结构 htaccess index php cl
  • 从压缩文件中获取图像的高度和宽度

    getNameIndex i 我目前正在使用 zip 存档函数来提取一些图像 我正在寻找一种方法来给出每个单独图像的文件路径 以便我可以使用 getimagesize 来获取宽度和高度 下面是正在使用的方法循环遍历文件 chapterZip
  • 如何使用 PHP 读取/显示 XML

    有没有办法使用 PHP 读取 external xml 来自不同网站的 xml 文件 我知道有一种方法可以使用 JavaScript 读取 XML 但前提是它们都位于同一根目录中 您能否提供有关如何获取 xml 文件的示例 然后阅读以下内容
  • 如何将react-native与php一起使用并获取返回数据始终为空

    我的回报始终为空 我似乎无法让它发挥作用 我如何将react native与php一起使用并获取json 任何人都可以帮忙吗 PHP myArray array myArray lat POST lat myArray lng POST l

随机推荐

  • 使用 SymPy 将符号表达式转换为 Python 函数

    我有一个相当大的符号函数 它针对循环中参数的不同值进行评估 在每次迭代中 在找到函数的表达式后 导出偏导数 像这样的东西 from sympy import diff symbols exp def lagrange eqs a x y z
  • 如何使用 EV SHA2 证书对 ClickOnce 部署进行身份验证并避免“未知发布者”

    通过 Visual Studio 的项目 签名 设置页面对我的 ClickOnce 部署进行签名时 我指定了 SHA2 SHA256 EV Authenticode 证书并发布 发布并尝试运行引导程序 setup exe 后 我会在 Cli
  • 为什么我的观察者会因同一个更改而被调用两次?

    我有一个 AngularJS 1 4 应用程序在本地运行 尚未 该应用程序由 Laravel 5 1 后端 RESTFul API 提供服务 我必须制作这个代表打包旅行的应用程序 一个包裹由天组成 范围从0天到N天 每天都有一个服务列表 范
  • 函数calculate.overlap的输出顺序

    我正在 R 包 VennDiagram 中使用 calculate overlap 函数 我比较了四组数据如下 library VennDiagram overlap calculate overlap x list 1 1 2 2 3 3
  • 通过 script 标签加载外部 javascript

    我正在尝试使用脚本标记动态加载脚本 但我做不到 我的渲染方法如下 render div a href http www authorize net target blank Working Yipee a div 我尝试使用angerous
  • 如何扩展/膨胀 numpy 数组?

    我正在执行图像分析并以布尔值的形式生成种子array import numpy as np Example output array a np array False False False False True False False F
  • 布尔恒等 == True 与 is True

    这是使用的标准约定if foo is None而不是if foo None测试一个值是否是特定的None 如果你想确定一个值是否精确True 不仅仅是一个类似真实的值 有什么理由使用if foo True而不是if foo is True
  • 如何在C#中对数组列表的元素进行排序

    我有一个 ArrayList 其中包含 0 1 1 10 2 2 3 15 4 17 5 5 6 6 7 27 8 8 9 9 现在我需要对数组列表进行排序 使其变为 0 1 1 2 2 5 3 6 4 8 5 9 6 10 7 15 8
  • 如何在 flutter 应用程序中实现 reCaptcha

    我正在尝试在我的 flutter 应用程序中实现 reCaptcha 功能 但在验证码注册中 我需要提供一个域 而我没有用于移动应用程序的域 我浏览过一些指导如何在移动应用程序中实现 reCaptcha 的指南 但这些指南使用包名称而不是域
  • 添加非mvc路由时Html.ActionLink构造错误链接

    我这里有一个混合了 webform 和 mvc 的应用程序 我指定路由如下 routes Add AspxRoute new Route Upload New new WebFormRouteHandler
  • 给定时间内的 Cron 作业和随机时间

    我需要能够每天在完全随机的时间运行 PHP 脚本 20 次 我还希望它仅在上午 9 点至晚上 11 点之间运行 我熟悉在 Linux 中创建 cron 作业 如何在上午 9 点到晚上 11 点之间每天随机执行 20 次定时任务 这在 cro
  • 防止 UIAlertView 关闭

    作为一种验证形式 有什么方法可以防止按下 确定 按钮时警报视图消失 场景 我在警报视图中有 2 个用于用户名 密码的文本字段 如果两者都是空并且用户按 确定 我不希望警报被解除 iOS 5 引入了一个新属性UIAlertView来准确处理这
  • 从哪里开始使用 CPanel 托管在 PHP 中运行命令行

    我正在查看一些 PayPal 脚本 代码示例 其中很多需要通过命令行运行的 php 脚本 我以前从未在 PHP 中从命令行运行过任何东西 所以根本不知道从哪里开始 我不知道我是否使用了正确的搜索词 因为谷歌没有帮助我回答 我是否需要使用不同
  • 如何安全地读取不受信任的 Clojure 代码(不仅仅是一些序列化数据)?

    def evil code str slurp mnt src git clj clojure src clj clojure core clj def r read string evil code 有效 但不安全 def r cloju
  • 为已安装的 Rails 引擎设置 default_url_options

    使用 Rails 3 2 13 和 spree 2 0 2我遇到过类似的问题动态范围内的导轨安装式发动机 我的路线 scope locale locale en jp do mount Spree Core Engine at store
  • 推送或弹出时应用程序在 ios 8 上冻结

    我的应用程序有一个大问题 主要是在 iOS 8 上 因为我们在其他 iOS 版本上没有发现这一点 当推送到新的视图控制器或弹出到以前的视图控制器时 它有时会冻结 但奇怪的是 如果您按主页按钮并从后台启动应用程序 它会运行一点 这里我的意思是
  • 如何正确处理 R 中的转义 Unicode 字符破折号 (—)

    我在处理 R 中转义的 unicode 字符时遇到问题 特别是从 MediaWiki API 获取信息时遇到的问题 我会找到一个 JSON 字符串 例如 query categorymembers ns 0 title Banach u20
  • 有哪些 iPhone 推送通知服务? (托管服务,而不是 APNS)[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 在处理 Apple 的推送
  • 分析蓝牙低功耗流量

    在尝试研究 BLE 时 我想知道是否可以通过 Wireshark 和 snort 等工具对其进行分析 我遇到过一个名为 ubertooth 的 USB 设备 我们需要购买该设备才能在 BLE 框架上执行 DPI 对吧 是否可以在 Wires
  • 如何在 zend Framework 2 中创建工厂?

    in my Module php我有以下方法 我想将它们移动到factory class这样我就不会弄乱Module class public function getControllerConfig return array factor