其他分享
首页 > 其他分享> > hyperf 注解

hyperf 注解

作者:互联网

注释和注解区别

注解方式

测试代码(app/indexController/test)

<?php

declare(strict_types=1);
namespace App\Controller;

use Hyperf\HttpServer\Annotation\AutoController;


/**
 * @AutoController()
 */
class IndexController extends AbstractController{
        public function test(){
                $msg = '这个是@AutoController注解演示';
                return [
                        'msg'=>$msg
                ];
        }
}

访问测试代码

curl ip:9501/index/test

结果返回

{"msg":"这个是@AutoController注解演示"}

去除@AutoController()注解,重启服务,查看效果

curl ip:9501/index/test
Not Found

类方法

测试代码(/app/IndexController/test)

<?php

declare(strict_types=1);
namespace App\Controller;

use Hyperf\HttpServer\Contract\RequestInterface;
use Hyperf\HttpServer\Annotation\Controller;
use Hyperf\HttpServer\Annotation\RequestMapping;

/**
 * @Controller()
 */
class IndexController extends AbstractController{

        /**
         * @RequestMapping(path="test",methods="get,post")
         */
        public function test(RequestInterface $request){
                $name = $request->input('name','');
                $msg = '这个是@Controller注解演示';
                return [
                        'msg'=>$msg,
                        'name'=>$name
                ];
        }
}

访问测试代码

curl -H "Content-Type: application/json" -X GET -d '{"name": "huyongjian"}' 118.195.173.53:9501/index/test

结果返回

{"msg":"这个是@Controller注解演示","name":"huyongjian"}

类属性

测试代码(/app/IndexController/test)

<?php

declare(strict_types=1);
namespace App\Controller;

use Hyperf\HttpServer\Annotation\AutoController;

//第一步导入命名空间
use Hyperf\Contract\ConfigInterface;
use Hyperf\Di\Annotation\Inject;

/**
 * @AutoController()
 */
class IndexController extends AbstractController{

        //第二步 添加注解
        /**
         * @Inject()
         * @var ConfigInterface
         */
        private $config;

        public function test(){
                //第三步 获取配置值
                //获取 config.php 里的内容
                $appName = $this->config->get('app_name','');
                $msg = '这个是属性注解演示';
                return [
                        'msg'=>$msg,
                        'app_name'=>$appName
                ];
        }
}

访问测试代码

curl 118.195.173.53:9501/index/test

结果返回

{"msg":"这个是属性注解演示","app_name":"skeleton"}

标签:name,测试代码,app,test,hyperf,msg,注解
来源: https://www.cnblogs.com/hu308830232/p/15240883.html