grummfy/laravel-route-controller
Composer 安装命令:
composer require grummfy/laravel-route-controller
包简介
Define Router::controller() without breaking everything
关键字:
README 文档
README
This library like other existing, give a way to deal with Router::controller.
The key features:
- allow caching of route
- doesn't require extra manipulation
- allow inheritance of route group
- namespace independent
Compatible with laravel 5.5. (probably compatible with older version too).
Install
Install the dependencies
composer require grummfy/laravel-route-controller
Publish the configuration
php artisan vendor:publish --tag=config --provider=Grummfy\LaravelRouteController\RouteControllerProvider
Usage
Once the package is install and autodiscover (or you have added the provider manually), the package is ready to use.
In your route file, just do this:
Route::controller('/foo', \App\Http\Controllers\FooController::class);
It will take all the public method from the class (including traits) and convert it to route.
There is a third argument that you can use to add extra option, like a middleware or anything else.
Route::controller('/foo', \App\Http\Controllers\FooController::class, ['middleware' => 'can:baz']);
You got also an extra option, to don't allow heritance of methods from parent:
Route::controller('/foo', \App\Http\Controllers\FooController::class, ['middleware' => 'can:baz', 'heritage' => false]);
Example
Imagine that we have the class FooController (see example), in this case we will have a series of method that will be converted to routes:
- index() -> /foo, foo.index
- getStatus(string $status) -> /foo/status/{status}, foo.status.post
- postStatus(string $status) -> /foo/status/{status}, foo.status.get
- foo() -> /foo/foo, foo.foo
- my() -> /foo/my, foo.my
TODO
- unit test
- QA tools
- travis
- styleci
- scrutinizer
- ...
Alternative
统计信息
- 总下载量: 3.47k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-02-06