我必须根据应用程序的给定域获取实体对象。基于该实体,其他服务处理其请求。
有没有办法存储静态对象或类似的东西?或者我应该将它注入其他服务,但我应该在哪里存储它?
感谢您的帮助
- 编辑 -
现在我有以下服务工厂来返回wantend实体。但现在我遇到了问题,在默认域的情况下,没有实体存在,我的应用程序崩溃,因为我不能在工厂中返回null值。我该如何解决?
namespace Client\Factory;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class ClientFactory implements FactoryInterface {
/**
* @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
* @return \Client\Entity\Client
*/
public function createService(ServiceLocatorInterface $serviceLocator) {
/* @var $clientService \Client\Service\ClientServiceInterface */
$clientService = $serviceLocator->get('Client\Service\Client');
$baseUrl = $serviceLocator->get('Request')->getUri()->getHost();
// client.mydomain.com returns a client entity
// www.mydomain.com doesn't return a client entity
return $clientService->getClientByBaseUrl($baseUrl);
}
}