php用注解写路由,lann-route: laravel annotation route(laravel 注解路由实现)

lann-route是一个基于PHP的laravel注解路由实现,允许开发者通过注解在控制器中定义路由。它提供了命令行工具用于根据注解生成路由文件,并支持按环境生成特定路由。注解包括@group、@env、@prefix等,可用于设置路由前缀、中间件、生效环境等。此外,还支持@get、@post等HTTP方法注解,以及自定义路由注解。
摘要由CSDN通过智能技术生成

lann-route

calject%2Flann-route.svg

lann-route

版本说明

v1.0

基础版本(通过注解(doc注释)自动解析路由文件)

v1.1

添加php artisan calject:route:file 命令根据注解(doc注释)生成路由文件

Description:

根据注解路由生成路由文件

Usage:

calject:route:file [options]

Options:

--path[=PATH] 设置扫描的路径参数(目录/具体路由文件),默认为app/Http/Controllers

--env[=ENV] 设置生成的env环境路由,仅生成参数内配置的env路由,多个环境以,分割(例: local,develop),默认不检查@env(...)

--force 是否强制生成文件,将覆盖原有文件,默认已存在的文件不重复生成

添加 @des(...)、@env(...)、@file(...) Tag, 参考使用介绍

路由生成示例(routes/test.php)

/**

* Class UploadController

* @package App\Http\Controllers\Annotation

*/

Route::group(["prefix" => "file", "namespace" => "Annotation"], function () {

// 文件上传

Route::post('upload', 'UploadController@upload');

// 文件下载

Route::get('download', 'UploadController@download');

});

/**

* Class TestController

* @package App\Http\Controllers\Annotation

*/

Route::group(["prefix" => "annotation", "middleware" => ["api"], "namespace" => "Annotation"], function () {

Route::get('getPath', 'TestController@getPath');

Route::post('setPath', 'TestController@setPath');

Route::match(["get", "post", "put", "delete"], 'user', 'TestController@user')->name('user');

Route::match(["get", "post", "put", "delete"], 'file', 'TestController@file');

Route::match(["get", "post", "put", "delete"], 'article', 'TestController@article');

});

Table of Contents

三、使用

Class Annotation Tag

@file 设置生成路由文件名

@group route group

@env 设置路由生效环境

@prefix route prefix

@middleware route middleware

@any 设置当前控制器请求方式默认为any

@restful 设置当前控制器请求方式默认为restful(get|post|put|delete)

@get 设置当前控制器请求方式默认为get

@post 设置当前控制器请求方式默认为post

@put 设置当前控制器请求方式默认为put

@delete 设置当前控制器请求方式默认为delete

Function Annotation Tag

@uri 设置请求方法的请求路径

@name 设置路由别名

@des 添加路由描述

@env 设置当前请求方法生效环境

@prefix route prefix

@middleware route middleware

@any 设置当前路由请求方式为any

@restful 设置当前路由请求方式为restful(get|post|put|delete)

@get 设置当前路由请求方式为get

@post 设置当前路由请求方式为post

@put 设置当前路由请求方式为put

@delete 设置当前路由请求方式为delete

一、介绍 top

laravel annotation route(laravel 注解路由实现)

缓存

不使用该路由功能,仅使用根据注解生成路由文件(开发中... v1.1)

配合laravel框架内置路由缓存php artisan route:cache使用(仅在生成路由缓存时遍历一次控制器文件)

二、安装 top

composer require calject/lann-route

三、使用 top

AnnotationRouteLocalProvider、AnnotationRouteProvider、AnnotationRoute

服务提供者注册实现

config/app.php => 'providers' 属性中添加AnnotationRouteLocalProvider或AnnotationRouteProvider服务提供者

AnnotationRouteLocalProvider仅在env环境为local中生效, AnnotationRouteProvider 在所有环境中生效, 可通过AnnotationRo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值