philetaylor / service-locator-factory
在 zf2 的任何地方静态获取服务定位器(虽然这是不好的做法,但有时需要这样)
这个包的官方仓库似乎已消失,因此该包已被冻结。
dev-master
2015-01-14 20:41 UTC
Requires
- php: >=5.3.0
- zendframework/zendframework: 2.*
This package is auto-updated.
Last update: 2023-04-06 11:54:46 UTC
README
这是 fezfez/ServiceLocatorFactory 的长期分支,因为这个项目不再维护...
通过调用此静态工厂,您可以在应用的任何地方获取 ServiceManager。虽然这样做可能非常不规范,并且没有使用完整的依赖注入(DI),但有时你不得不这么做。
可以使用 composer 安装 - 请参阅 https://packagist.org.cn/packages/philetaylor/service-locator-factory
<?php
namespace Corp\News;
use Corp\News\NewsDAO;
use Zend\ServiceManager\ServiceManager;
use Corp\ServiceLocator\ServiceLocator;
class NewsDAOFactory
{
private function __construct()
{
}
/**
* @return \Corp\News\NewsDAO
*/
public static function getInstance()
{
$sm = ServiceLocatorFactory::getInstance();
$em = $sm->get('doctrine.entitymanager.orm_default');
return new NewsDAO($em);
}
}