2018-9-6-Laravel 资源路由与注入

layouttitledateauthordescin_head
post
Laravel 资源路由与注入
2018-09-06 10:00:02 +0800
南丞
Laravel 资源路由与注入
<style> .article-content p{ text-indent: 2em; line-height: 1.75rem; }</style>

资源路由

开发的过程中经常会使用资源路由:

Route::resource('member','MemberController')

只用资源路由以后, 我们在写的资源控制器会是:

class MemberController extends Controller
{
    public function index()
    {
        //
    }
    public function create()
    {
        //
    }

    public function store(Request $request)
    {
        //
    }

    public function show($id)
    {
        //
    }

    public function edit($id)
    {
        //
    }

    public function update(Request $request, $id)
    {
        //
    }

    public function destroy($id)
    {
        //
    }
}

然后会修改一下控制器,中的方法, 比如:

**edit() ** 方法: 按照以往的习惯,我们会传递一个 要编辑的数据的 id 然后去查询 这个 id 所对应的数据。但是这样有点麻烦, 我们可以 使用注入去写, 可以这样写:

// Member 对应的我要查询的member  $member 这个 是我传递的id所对应的路由
 public function edit(Member $member)
 {
        dd($member)
}

注意: 经常会出现一个问题就是: $member 这个变量名了, 资源路由中 这个变量名不一定是 resource 中的 member 名称了, 所以我们注入的时候先查询一下再写:

使用 命令查询所有的路由列表:

php artisan route:list 

结果如下:

+--------+-----------+----------------------+----------------+-----------------------------------------------------+--------------+
| Domain | Method    | URI                  | Name           | Action                                              | Middleware   |
+--------+-----------+----------------------+----------------+-----------------------------------------------------+--------------+
|        | GET|HEAD  | /                    |                | Closure                                             | web          |
|        | GET|HEAD  | api/user             |                | Closure                                             | api,auth:api |
|        | GET|HEAD  | member               | member.index   | App\Http\Controllers\Admin\MemberController@index   | web          |
|        | POST      | member               | member.store   | App\Http\Controllers\Admin\MemberController@store   | web          |
|        | GET|HEAD  | member/create        | member.create  | App\Http\Controllers\Admin\MemberController@create  | web          |
|        | GET|HEAD  | member/{member}      | member.show    | App\Http\Controllers\Admin\MemberController@show    | web          |
|        | PUT|PATCH | member/{member}      | member.update  | App\Http\Controllers\Admin\MemberController@update  | web          |
|        | DELETE    | member/{member}      | member.destroy | App\Http\Controllers\Admin\MemberController@destroy | web          |
|        | GET|HEAD  | member/{member}/edit | member.edit    | App\Http\Controllers\Admin\MemberController@edit    | web          |
+--------+-----------+----------------------+----------------+-----------------------------------------------------+--------------+

{} 中对应的路由参数就是那个变量所需要写的参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值