在 Hyperf 3.0 中,你可以通过注入 Psr\Http\Message\ServerRequestInterface 接口来获取当前请求的接口地址。以下是一个示例代码:
php
use Psr\Http\Message\ServerRequestInterface;
class YourController
{
public function yourAction(ServerRequestInterface $request)
{
$uri = $request->getUri();
$currentUrl = $uri->getScheme() . '://' . $uri->getHost() . $uri->getPath();
// 打印当前接口地址
var_dump($currentUrl);
}
}
在上面的代码中,我们注入了 ServerRequestInterface 接口,并使用 $request->getUri() 获取了请求的 URI 对象。然后,使用 getScheme() 方法获取协议(http 或 https),getHost() 方法获取主机名,getPath() 方法获取路径,最后将它们拼接在一起得到了当前接口地址。