laravel 资源控制器

Artisan 生成器来生成一个资源控制器(在之前命名后加上 --resource 选项)

php artisan make:controller PostController --resource

生成的控制器:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;

class PostController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}

以上 PostController 控制器的每个方法都有对应的请求方式、路由命名、URL、方法名和业务逻辑约定。

HTTP请求方式URL控制器方法路由命名业务逻辑描述
GET post index() post.index 展示所有文章
GET post/create create() post.create 发布文章表单页面
POST post store() post.store 获取表单提交数据并保存新文章
GET post/{post} show() post.show 展示单个文章
GET post/{id}/edit edit() post.edit 编辑文章表单页面
PUT post/{id} update() post.update 获取编辑表单输入并更新文章
DELETE post/{id} destroy() post.desc 删除单个文章
Laravel 还为我们提供了一个 Route::resource 方法用于一次注册包含上面列出的所有路由,并且遵循上述所有约定:
Route::resource('post', 'PostController');

你可以通过 Artisan 命令 php artisan route:list 查看应用的所有路由:

原文地址:https://www.cnblogs.com/sgm4231/p/10283279.html