bain2018 / think-annotation
Annotation For ThinkPHP6
v2.2.0
2024-03-29 08:44 UTC
Requires
- php: >=8.0
- ergebnis/classy: ^1.4
- topthink/framework: ^6.0||^8.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-10-29 10:13:42 UTC
README
PHP8版本 解决循环依赖问题
安装
composer require bain2018/think-annotation
配置
配置文件位于
config/annotation.php
使用方法
路由注解
<?php namespace app\controller; use think\annotation\Inject; use think\annotation\route\Get; use think\annotation\route\Group; use think\annotation\route\Middleware; use think\annotation\route\Resource; use think\annotation\route\Route; use think\Cache; use think\middleware\SessionInit; #[Group("bb")] #[Resource("aa")] #[Middleware([SessionInit::class])] class IndexController { #[Inject] protected Cache $cache; public function index() { //... } #[Route('GET','xx')] public function xx() { //... } #[Get('cc')] public function cc() { //... } }
默认会扫描controller目录下的所有类
可对个别目录单独配置
//... 'route' => [ 'enable' => true, 'controllers' => [ app_path('controller/admin') => [ 'name' => 'admin/api', 'middleware' => [], ], root_path('other/controller') ], ], //...
模型注解
<?php namespace app\model; use think\Model; use think\annotation\model\relation\HasMany; #[HasMany("articles", Article::class, "user_id")] class User extends Model { //... }