andrey-helldar / extended-routes
4.0.1
2024-03-15 00:21 UTC
Requires
- php: ^8.1
- illuminate/database: ^10.0 || ^11.0
- illuminate/routing: ^10.0 || ^11.0
- illuminate/support: ^10.0 || ^11.0
Requires (Dev)
- orchestra/testbench: ^8.0 || ^9.0
- phpunit/phpunit: ^10.0
README
此助手扩展了标准的资源路由方法,使其能与 SoftDeletes 和其他扩展一起工作。
安装
兼容性
Laravel | PHP | 扩展路由版本 |
---|---|---|
7, 8, 9, 10 | 7.3, 7.4, 8.0, 8.1, 8.2 | ^3.0 |
10, 11 | 8.1, 8.2, 8.3 | ^4.0 |
要获取 Extended Routes
的最新版本,只需使用 Composer 需求项目
$ composer require dragon-code/extended-routes
当然,您也可以手动更新 require 块并运行 composer update
,如果这样做的话
{ "require": { "dragon-code/extended-routes": "^4.0" } }
从 andrey-helldar/extended-routes
升级
- 在您的
composer.json
文件中,将"andrey-helldar/extended-routes": "^2.0"
替换为"dragon-code/extended-routes": "^3.0"
。 - 在您的应用中将
Helldar\ExtendedRoutes
命名空间前缀替换为DragonCode\ExtendedRoutes
; - 运行
command composer
update。 - 成功!
使用
通过特质
use DragonCode\ExtendedRoutes\Routing\ModelBindingResolver; use DragonCode\ExtendedRoutes\Traits\ExtendedSoftDeletes; class Page extends Model { use ExtendedSoftDeletes; }
扩展抽象模型
use DragonCode\ExtendedRoutes\Models\ExtendedSoftDeletes; //use Illuminate\Database\Eloquent\SoftDeletes; class Foo extends ExtendedSoftDeletes { //use SoftDeletes; << need to remove conflicting trait. }
路由
app('router')->apiRestorableResource('foos', 'FoosController'); // or Route::apiRestorableResource('foos', 'FoosController');
也可以进行引用
use App\Http\Controllers\FoosController; app('router')->apiRestorableResource('foos', FoosController::class); // or Route::apiRestorableResource('foos', FoosController::class);
方法 | URI | 名称 | 行为 | 中间件 |
---|---|---|---|---|
GET/HEAD | api/foos | foos.index | App\Http\Controllers\FoosController@index | api |
POST | api/foos | foos.store | App\Http\Controllers\FoosController@store | api |
GET/HEAD | api/foos/trashed | foos.trashed | App\Http\Controllers\FoosController@trashed | api |
GET/HEAD | api/foos/{foo} | foos.show | App\Http\Controllers\FoosController@show | api |
PUT/PATCH | api/foos/{foo} | foos.update | App\Http\Controllers\FoosController@update | api |
DELETE | api/foos/{foo} | foos.destroy | App\Http\Controllers\FoosController@destroy | api |
POST | api/foos/{foo}/restore | foos.restore | App\Http\Controllers\FoosController@restore | api |
许可
此包根据 MIT 许可证 许可。
此包由 Maksim (Ellrion) Platonov 参与,根据 MIT 许可证 编写。