如何注册任何服务,例如:可以在laravel中以当前状态在其他任何服务中使用RequestStack?
如果我在一个服务中注入并推送请求以请求堆栈,则无法在其他服务中访问它(RequestStack重新构建)
<?php
namespace App\Services;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
class CustomClass
{
/**
* @var RequestStack
*/
private $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
public function createRequest()
{
$this->requestStack->push(new Request());
}
}
<?php
namespace App\Services;
use Symfony\Component\HttpFoundation\RequestStack;
class CustomClass2
{
/**
* @var RequestStack
*/
private $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
public function getRequest()
{
// Empty
$request = $this->requestStack->getMasterRequest();
}
}
如何在全球范围内注册RequestStack,以便我可以通过任何其他服务访问任何修改?