• laravel中控制器的创建和使用(五)


    laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件。

    php artisan make:controller TestController
    

    TestController 控制器名我们可以任意指定。文件默认会创建在 appHttpControllers 目录下。

    打开控制器文件,我们就可以添加自已的方法了。

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    
    class TestController extends Controller
    {
        public function test()
        {
            echo 'test...';
        }
    }
    

    在路由文件 routes/web.php 中配置路由就可以访问了。

    Route::get('/test', 'TestController@test');
    

    如何获取用户的输入,一般推荐通过依赖注入的方式来获取。

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    
    class TestController extends Controller
    {
        public function test(Request $request)
        {
            //获取所有请求数据
            $data = $request->all();
            //获取指定请求数据
            $id = $request->input('id');
        }
    }
    

    laravel中为我们编写 restful 风格的代码,提供了简单方式,只需在创建控制器命令后面加上 --resource 选项。

    php artisan make:controller OrderController --resource
    

    laravel帮我们创建指定的方法,各自表示不同的意义和作用。

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    
    class OrderController 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)
        {
            //
        }
    }
    

    具体方法的作用如下所示:

    HTTP 方法 URI 控制器方法 路由名称 作用描述
    GET /order index order.index 显示所有订单列表
    GET /order/create create order.create 显示创建订单页面
    POST /order store order.store 接收提交数据,创建订单
    GET /order/{id} show order.show 显示单个订单信息
    GET /order/{id}/edit edit order.edit 显示修改订单页面
    PUT/PATCH /order/{id} update order.update 接收提交数据,修改订单
    DELETE /order/{id} destroy order.destroy 删除订单

    最后我们通过 Route::resource() 来绑定上面的所有路由。

    Route::resource('order', 'OrderController');
    

    我们也可以通过命令查看,绑定的路由列表。

    php artisan route:list
    

      

  • 相关阅读:
    robots协议
    Java Script学习 4(转)
    Java Script学习 3(转)
    HTML 8 总结(转)
    HTML 7 (转)
    HTML 6 (转)
    HTML 5 (转)
    python类方法/实例方法/静态方法
    chromedriver下载地址
    字符编码表
  • 原文地址:https://www.cnblogs.com/jkko123/p/10805590.html
Copyright © 2020-2023  润新知