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