cyber-duck/restrouter

此包已被弃用且不再维护。作者建议使用 cyber-duck/restrouter 包代替。

0.0.1 2014-09-02 13:48 UTC

This package is auto-updated.

Last update: 2023-09-08 11:30:56 UTC


README

此功能在 Laravel 的后续版本中可通过 Route::resource() 便捷使用。

Laravel REST 路由

Laravel 路由器的扩展,增加了额外的 ->rest() 方法,用于创建类似于 Laravel 内置资源的 RESTful 路由。

安装

将包添加到您的 composer.json 文件,并运行 composer update

{
    "require": {
        "cyber-duck/restrouter": "dev-master"
    }
}

app/config/app.php 中添加服务提供者

'CyberDuck\RestRouter\RestRouterServiceProvider',

这将把我们的路由类添加到 IoC 容器中,代替默认的路由,添加 Route::rest() 后,一切将按标准工作。

示例用法

[app/routes.php]

<?php
$options = ['model' => 'ResourceModel'];
Route::rest('resource-name', 'ResourceController', ['model' => 'Models\Resource']);

这将注册以下路由

URI 名称 动作
GET HEAD resource-name resource.index
POST resource-name resource.store ResourceController@store
GET HEAD resource-name/{models_resource}/{_path?} resource.show
PUT resource-name/{models_resource}/{_path?} resource.replace ResourceController@replace
PATCH resource-name/{models_resource}/{_path?} resource.update ResourceController@update
DELETE resource-name/{models_resource}/{_path?} resource.destroy ResourceController@destroy
GET HEAD POST

{_path} 将捕获匹配第一部分后的路径剩余部分。如果需要添加额外路由,控制器也应该是 RESTful 的。

选项包括模型、除了和仅限,与 resource() 的工作方式相同