hyperf构造函数注入
和laravel的构造函数注入是一样的
以下为代码
路由
Router::addRoute(['GET', 'POST', 'HEAD'], '/test', 'App\Controller\TestController@index');
控制器
<?php namespace App\Controller;
use App\Service\UserService;
use Hyperf\HttpServer\Contract\RequestInterface;
class TestController
{
/**
* @var UserService
*/
private $userService;
// 通过在构造函数的参数上声明参数类型完成自动注入
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function index(RequestInterface $request)
{
$id = $request->input('id',1);
// 直接使用
return $this->userService->getInfoById($id);
}
}
service层
<?php namespace App\Service;
class UserService
{
public function getInfoById(int $id)
{
return __METHOD__.'user-service:'.$id;
}
}
访问
http://47.96.43.213:9501/test
结果为App\Service\UserService::getInfoByIduser-service:1
参考https://www.cnblogs.com/hu308830232/p/15263038.html
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:hyper构造函数注入 出自老鄢博客 | 欢迎分享