我正在开发一个将在不同域中运行的 API 应用程序:http://example.com/、 http://sub.example.com/、http://example-another.com/。部分 API 响应需要发送其base_url。所以我试图找到一种方法来动态收集base_url并将其添加到我的响应中。
我有一个工厂来启动动作处理程序,如下所示:
class TestHandlerFactory
{
public function __invoke(ContainerInterface $container) : TestHandler
{
return new TestHandler();
}
}
然后我的动作处理程序如下:
class TestHandler implements RequestHandlerInterface
{
public function __construct()
{
...
}
public function handle(ServerRequestInterface $request) : ResponseInterface
{
...
}
}
我是 Zend 世界的新手,我发现https://github.com/zendframework/zend-http/blob/master/src/PhpEnvironment/Request.php可能是我的问题的潜在解决方案。但是,我不知道如何在工厂或处理程序类中获取那个 PHP-Environment 对象(或任何其他帮助我获取基本 url 的对象)。