hyperf注解,自定义注解

news2024/12/28 21:28:57

注解是 Hyperf 非常强大的一项功能,可以通过注解的形式减少很多的配置,以及实现很多非常方便的功能。

结构

在这里插入图片描述

建立注解

  1. app下建立Annotation注解文件夹

  2. Annotation下建立Jim.php注解

下面的的@Annotation @Target是全局注解,所以不需要use 引入
注解一共有 3 种应用对象,分别是 类、类方法 和 类属性
@Target()有三种方式 分别是 ALL 全部,CLASS 类,METHOD方法,PROPERTY属性

必须继承AbstractAnnotationuse Hyperf\Di\Annotation\AbstractAnnotation;

<?php
/**
 * Jim.php
 *
 * Created on 2024-08-22-10:35
 * Created by xxp 332410549@qq.com
 */

namespace App\Annotation;

use Hyperf\Di\Annotation\AbstractAnnotation;


/**
 * @Annotation
 * @Target({"ALL"})
 */
class Jim extends  AbstractAnnotation
{
    /**
     * @var string
     */
    public $name = "";

    /**
     * @var int
     */
    public $age = 0;

}

调用注解

<?php

declare(strict_types=1);

namespace App\Controller;

use App\Annotation\Jim;
use Hyperf\Di\Annotation\AnnotationCollector;
use Hyperf\HttpServer\Annotation\AutoController;

/**
 * @AutoController(prefix="user")
 * @Jim(name="nico",age="18")
 */
class UserController extends AbstractController
{
    
    public function index()
    {

        var_dump(AnnotationCollector::getClassesByAnnotation(Jim::class));
        return 'user';
    }
}

结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2079701.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go学习笔记(一)语法

标准库文档&#xff1a;Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 B站课程&#xff1a;8小时转职Golang工程师(如果你想低成本学习Go语言) 课程作者语雀&#xff08;首页有更多内容&#xff09;&#xff1a;8小时转职Golang工程师 语雀 代码仓…

C语言基础(二十)

链表是一种常见的数据结构&#xff0c;通常用来存储一系列元素&#xff0c;每个元素由一个节点来表示。在链表中&#xff0c;每个节点包含两部分&#xff1a;数据元素本身和指向下一个节点的指针。这种结构使得链表中的元素在内存中不是连续存储的&#xff0c;而是通过指针连接…

可拖拽表单设计器都有哪些突出特点?

为了提高效率、降低开发成本&#xff0c;利用低代码技术平台的优势特点可以实现这一目标。究竟什么是低代码技术平台&#xff1f;都有哪些值得夸耀的特点和优势&#xff1f;今天&#xff0c;我们就带着这些问题&#xff0c;一起来了解低代码技术平台、可拖拽表单设计器的多个优…

香港站群服务器优势

香港站群服务器因其独特的地理位置和网络连接优势&#xff0c;在SEO优化、网站群管理和网络营销等方面受到广泛关注。其优势主要体现在以下几个方面&#xff0c;rak小编为您整理发布。 地理位置优越 连接亚洲国际市场&#xff1a;香港作为亚太地区的重要经济中心&#xff0c;具…

华为2024年秋招-结构与材料工程师-结构方向-机试题(四套)(每套四十题)

华为2024年招聘-结构与材料工程师-结构方向-机试题&#xff08;四套&#xff09;&#xff08;每套四十题&#xff09; 岗位——结构与材料工程师 岗位意向——结构 真题题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff…

详细了解如何设计和实现一个SSO系统?

一、SSO系统有什么好处&#xff1f; 1、用户角度&#xff1a;一次登录多次使用&#xff0c;无需记录多套用户名和密码&#xff0c;省事省心。 2、系统管理员角度&#xff1a;管理员只需要维护好一个统一的账号中心就可以了&#xff0c;方便 3、新系统开发角度&#xff1a;新系统…

(二十六)STL vector容器(动态数组)

动态数组vector是标准模版库&#xff08;STL, Stardard Template Library&#xff09;中的模版&#xff0c;它有着节省空间和使用方便的优势&#xff0c;我们用一个形象的例子来说明&#xff1a; 开学了&#xff0c;有40个学生来报名&#xff0c;想要存储每个同学的姓名&#…

数字验证:一文弄懂UVM的factory机制

如果我们用SystemVerilog构建验证平台&#xff0c;构建好了之后&#xff0c;想改变平台中的某个组件&#xff0c;例如将driver改成driver_new&#xff0c;我们需要重新定义一下driver_new&#xff0c;当然也可以直接从driver继承。但是我们还需要在driver对象例化的地方将drive…

PHP同城派送多区域运营配送小程序源码

&#x1f69a;&#x1f4a8;「同城派送多区域运营小程序」——让每一份需求快速触达&#xff01;&#x1f308;&#x1f680; &#x1f525; 开篇燃爆&#xff1a;同城生活新风尚&#xff0c;一键速达不是梦&#xff01; Hey小伙伴们&#xff0c;你还在为找不到合适的同城服务…

WEB渗透Win提权篇-PowerUp

提权工具合集包&#xff08;免费分享&#xff09;&#xff1a; 夸克网盘分享 往期文章 WEB渗透Win提权篇-提权工具合集-CSDN博客 WEB渗透Win提权篇-RDP&Firewall-CSDN博客 WEB渗透Win提权篇-MSSQL-CSDN博客 WEB渗透Win提权篇-MYSQL-udf-CSDN博客 WEB渗透Win提权篇-Acc…

02-03:原理图与PCB交互以及快速模块化

1原理图与PCB交互 ①在PCB界面&#xff0c;点击工具, 勾选交叉选择模式 ②过滤器只选择元器件 2.按页快速模块化 配合F9快捷键

运放阻抗和噪声(同相放大器的输入/输出阻抗 + 电压跟随器阻抗 + 噪声 +信噪比)

2024-8-27&#xff0c;星期一&#xff0c;21:03&#xff0c;天气&#xff1a;阴雨&#xff0c;心情&#xff1a;晴。培训终于结束啦&#xff0c;开始轮岗了&#xff0c;看了两天PPT&#xff0c;加油加油&#xff0c;继续学习。 今天继续学习第六章运算放大器&#xff0c;主要学…

修改SpringBoot项目中MyBatis的mapper.xml文件的位置

由于MyBatis默认的mapper.xml的扫描位置是resource文件下&#xff0c;但是不可能整个项目的mapper.xml文件都放在resource下&#xff0c;如果文件较少还行&#xff0c;但是如果文件比较多&#xff0c;虽然有插件可以点击跳转&#xff0c;但是每次都这样也太麻烦了&#xff0c;所…

浙商之源——龙游商帮丨龙游商帮的具象文化符号之建筑篇

编撰者&#xff1a;袁勇 [三门源村] 三门源村位于浙江省龙游县石佛乡北部&#xff0c;距县城约28公里。因为进出村庄要经过三道屏障&#xff0c;且穿村而过的溪水又为塔石溪的源头&#xff0c;故称三门源。三门源群山环绕&#xff0c;仅有南面与金衢盆地相接&#xff0c;一泓溪…

无人机 PX4 飞控 | ROS应用层开发:指令(字符串)订阅功能

无人机 PX4 飞控 | ROS应用层开发&#xff1a;指令&#xff08;字符串&#xff09;订阅功能 指令&#xff08;字符串&#xff09;订阅功能代码测试 指令&#xff08;字符串&#xff09;订阅功能 为了通过键盘触发mavros 的不同功能&#xff0c;需要实现一个订阅字符串的功能 该…

【嵌入式开发之网络编程】Socket套接字及TCP、UDP通信的实现

Socket套接字 现有计算机网络体系结构有三种划分形式&#xff1a;OSI七层协议、TCP/IP四层协议结构、五层协议结构。具体介绍参考&#xff1a;【嵌入式开发之网络编程】网络分层、OSI七层模型、TCP/IP及五层体系结构 网络的体系结构 (Network Architecture) 是计算机网络的各…

MySQL索引(二)

MySQL索引(二) 文章目录 MySQL索引(二)MySQL有哪些索引&#xff1f;MySQL的主键是聚簇索引吗&#xff1f;聚簇索引和非聚簇索引的区别什么是覆盖索引什么是回表主键问题 外键约束什么是外键什么是外键约束外键带来的问题 联合索引最左匹配原则如何建立联合索引索引下推 学习地址…

适合 Spring Boot 3.0x的Redis 分布式锁

Spring Boot 中的 Redis 分布式锁 在分布式系统中&#xff0c;多个进程同时访问共享资源时&#xff0c;很容易出现并发问题。为了避免这些问题&#xff0c;我们可以使用分布式锁来保证共享资源的独占性。Redis 是一款非常流行的分布式缓存&#xff0c;它也提供了分布式锁的功能…

Ai+若依(页面调整--去除若依的各种痕迹,采用自己的):【07篇】

页面调整 如果使用若依框架项目做为脚手架,那么我们肯定需要在页面显示中,符合自己公司或者项目的标识才行,需要更换的地方很多,我们依次来解决它 浏览器标签页logo标识、标题 系统页面中的logo标识、标题 去除源码地址 & 文档地址 主题风格和菜单图标 登录名称及背景…

Java GIS开发工具包-GeoTools浅谈

目录 前言 一、关于Geotools 1、GeoTools简介 2、官方仓库 3、使用Geotools的一些项目 二、Geotools架构 1、功能架构 2、Geotools支持的数据格式 三、Geotools科研热点 1、知网信息 2、百度学术 四、总结 前言 地理信息&#xff0c;智联万物。地理信息在我们的生活中…