hyper构造函数注入

发布时间:2021-12-30 11:09:34 阅读:834次

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加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询
上一篇:hyperf中间件

转载请注明:hyper构造函数注入 出自老鄢博客 | 欢迎分享