博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zend Famework 2 | 如何在自定义类中使用Service Manager
阅读量:6228 次
发布时间:2019-06-21

本文共 1382 字,大约阅读时间需要 4 分钟。

  hot3.png

  1. 在自定义类中实现 ServiceLocatorAwareInterface 接口

namespace Application\Model;use Zend\ServiceManager\ServiceLocatorAwareInterface;use Zend\ServiceManager\ServiceLocatorInterface;class Demo implements ServiceLocatorAwareInterface{   protected $serviceLocator;   /**    * Set serviceManager instance    *    * @param  ServiceLocatorInterface $serviceLocator    * @return void    */   public function setServiceLocator(ServiceLocatorInterface $serviceLocator)   {      $this->serviceLocator = $serviceLocator;   }   /**    * Retrieve serviceManager instance    *    * @return ServiceLocatorInterface    */   public function getServiceLocator()   {      return $this->serviceLocator;   }   public function getServiceConfig()   {	$this->serviceLocator->get('config');   }}

在Model.php 中把你的自定义类注入到Service Manager, 主要是通过getServiceConfig方法,也可也在module.config.php 中使用service_manage 进行配置

public function getServiceConfig() {      return array(         'factories'=>array(            'Demo' => function($sm){                  $demo = new \Application\Model\Demo();                  return $demo;               }         )      ); }

在indexAction中进行调用

public function indexAction{        //得到Service Manager	$sm = $this->getServiceLocator();	//得到自定义demo类	$demo = $sm->get('demo');	$serviceConfig = $demo->getConfig();//通过自定义类demo会得到Service manager中config数组}

转载于:https://my.oschina.net/u/864912/blog/282398

你可能感兴趣的文章
hdu Hike on a Graph
查看>>
深入分析 ThreadLocal 内存泄漏问题
查看>>
[HNOI2017]礼物
查看>>
[转]推荐一些不错的计算机书籍
查看>>
linux命令(30):tail
查看>>
有关windows dpi适配(c#)
查看>>
SoupUI的使用
查看>>
Nlog的简单使用
查看>>
JQuery中 数组与字符串(过滤,排序,拆分,合并)
查看>>
pycharm 设置
查看>>
js添加事件
查看>>
模式识别开发之项目---基于人头检测的人流量监测
查看>>
嵌入式开发之优化---代码优化
查看>>
题解 P1665 【正方形计数】
查看>>
python 字典 get方法
查看>>
支付宝9张图稳扫出敬业福
查看>>
GBDT记录
查看>>
同一个菜品商家中心和erp价格显示不一致解决方案FAQ
查看>>
新博客
查看>>
中文前端UI框架Kit(十一)摇头动画?让你的页面元素嗑药嗑起来??
查看>>