laravel-working-group / laravel-route-macros
Route 门面上的宏集合,提供有用的快捷方式
1.0.1
2023-08-21 15:39 UTC
Requires
- php: ^8.1
- laravel/framework: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-21 18:05:28 UTC
README
向 Route
门面 添加新的方法和快捷方式
安装
通过 composer 安装
composer require laravel-working-group/laravel-route-macros
方法
viewWithBindings
类似于 Route::view('/uri', 'view', $data)
,但像 隐式模型绑定 一样预先将路由参数绑定到数据
Route::viewWithBindings('/user/{user}', 'view', bindings: [ 'user' => \App\Models\User::class ]);
// blade: {{ $user->name }}
with
类似于 Model::with()->find()
,但用于具有 隐式模型绑定 的路由,在回调/控制器操作中不需要执行 $model->load()
/$model->loadMissing()
。现在可以这样做
Route::get('/users/{user}', [ UserController::class, 'show' ])->with('user', 'followers');
file
直接在浏览器中显示文件(例如静态 HTML 页面),而无需在回调/控制器操作中使用 File
/Storage
门面。
Route::file('/.well-known/security.txt', 'static-pages/security.txt');
whereEnum
>= v9.x
Route::where()
的包装器,类似于 Route::whereIn()
,但支持枚举(直接传递枚举而不是数组)。
< v9.x
Route::where()
的包装器,类似于 Route::whereNumeric()
或 Route::whereAlpha()
,无需手动指定 or 连接的正则表达式。
语法
Route::get('/imports/{format}', [ ImportController::class, 'import' ])->withEnum('format', ImportFormat::class);
viewWithDataFrom
Route::viewWithDataFrom('users', 'users', [ 'users' => [ \App\Models\User, 'all' ] ]);