Sve*_*ven 0 php zend-framework2
我正在编写一个服务,用某些查询参数做一些事情,他们的名字是已知的.
因为我不在控制器中,所以我不能使用params插件.
如何在不使用params插件的情况下访问Zend Framework 2中的查询参数?有没有办法在控制器外部使用params插件?
是的,您可以获得如下查询:
$request = $this->getServiceManager()->get('Request');
$query = $request->getQuery();
Run Code Online (Sandbox Code Playgroud)
更详细的例子:
<?php
use Zend\ServiceManager\ServiceManager;
use Zend\ServiceManager\ServiceManagerAwareInterface;
class SomeService implements ServiceManagerAwareInterface
{
protected $serviceManager;
public function getServiceManager()
{
return $this->serviceManager;
}
public function setServiceManager(ServiceManager $serviceManager)
{
$this->serviceManager = $serviceManager;
return $this;
}
public function doSomething()
{
$request = $this->getServiceManager()->get('Request');
$query = $request->getQuery();
// as well as:
$params = $this->getServiceManager()->get('ControllerPluginManager')->get('params');
}
}
Run Code Online (Sandbox Code Playgroud)