hyperf注解,自定义注解

devtools/2024/9/24 7:19:42/

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

结构

在这里插入图片描述

建立注解

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

  2. Annotation下建立Jim.php注解

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

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

php"><?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"><?phpdeclare(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.ppmy.cn/devtools/100834.html

相关文章

MySQL入门学习-数据库修改的使用

一、数据库修改的使用&#xff1a; - 添加数据&#xff1a; 使用 INSERT INTO 语句向表中添加新的数据行。 - 更新数据&#xff1a; 使用 UPDATE 语句更新表中已有的数据行。 - 删除数据&#xff1a; 使用 DELETE FROM 语句删除表中的数据行。 二、特点&#xff1a; - 简单易学…

在Mac电脑安装Homebrew并且配置环境变量

问题&#xff1a;如何在Mac电脑安装Home brew&#xff1f; 解决&#xff1a;国外的链接容易下载安装失败&#xff0c;国内的镜像速度快&#xff0c;成功率高&#xff0c;进入终端输入以下你所需的链接命令即可&#xff1a; 国外链接&#xff1a;/bin/bash -c "$(curl -fsS…

阿一网络安全之log4j2漏洞CVE-2021-44228复现

漏洞简介 Apache Log4j 2 是对 Log4j 的升级&#xff0c;它⽐其前身 Log4j 1.x 提供了显 着改进&#xff0c;并提供了 Logback 中可⽤的许多改进&#xff0c;同时修复了 Logback 架构中的⼀些固有问题。 2021 年 12 ⽉&#xff0c;在 Apache Log4j2 中发现了⼀个 0-day 漏洞。 …

第四题:求两个有序数组的中位数(Median of Two Sorted Arrays)

题目描述&#xff1a; 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2&#xff0c;请你找出这两个有序数组的中位数。 示例&#xff1a; 输入&#xff1a;nums1 [1, 3], nums2 [2] 输出&#xff1a;2.0 输入&#xff1a;nums1 [1, 2], nums2 [3, 4] 输出&#xff1a;…

Java开发笔记-spring的@schedule低级错误

最近在追一个数据库等待锁超时&#xff0c;数据库死锁导致的数据问题。考虑是定时任务占用锁&#xff0c;触发器sql冲突导致。于是在研究程序日志。发现了另外一个问题&#xff1a;我的定时任务明明注解的 每天七点执行&#xff0c;他偏偏9点才执行。 之前也没去管它&#xff0…

Nim游戏

Nim游戏 给定 n堆石子&#xff0c;两位玩家轮流操作&#xff0c;每次操作可以从任意一堆石子中拿走任意数量的石子&#xff08;可以拿完&#xff0c;但不能不拿&#xff09;&#xff0c;最后无法进行操作的人视为失败。 问如果两人都采用最优策略&#xff0c;先手是否必胜。 输…

使用OpenCV库来捕获摄像头视频流,并按指定格式保存

今天我们来使用OpenCV库来捕获摄像头视频流&#xff0c;并将其保存为AVI格式的视频文件&#xff0c; 代码的主要功能包括&#xff1a; 初始化摄像头捕获对象。设置视频编解码器和输出文件路径。循环读取视频帧&#xff0c;处理并保存到文件中。显示处理后的视频帧。按下q键退…

QT 简易网页信息抓取程序模板基础代码

有些网页爬不了&#xff0c;只是一个简单的代码。 项目结构 NetBugBaseCode.pro #------------------------------------------------- # # Project created by QtCreator 2024-08-26T15:13:10 # #-------------------------------------------------QT core gui netw…