laravel框架中控制器的創建和使用方法分析

 更新時間:2019年11月23日 10:28:53   轉載 作者:懷素真  
這篇文章主要介紹了laravel框架中控制器的創建和使用方法,結合實例形式詳細分析了laravel框架控制器的原理、創建、使用方法及相關注意事項,需要的朋友可以參考下

本文實例講述了laravel框架中控制器的創建和使用方法。分享給大家供大家參考,具體如下:

laravel中我們可以使用 artisan 命令來幫助我們創建控制器文件。

php artisan make:controller TestController

TestController 控制器名我們可以任意指定。文件默認會創建在 app\Http\Controllers 目錄下。

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

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
  public function test()
  {
    echo 'test...';
  }
}

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

Route::get('/test', '[email protected]');

如何獲取用戶的輸入,一般推薦通過依賴注入的方式來獲取。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
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 App\Http\Controllers;
use Illuminate\Http\Request;
class OrderController extends Controller
{
  /**
   * Display a listing of the resource.
   *
   * @return \Illuminate\Http\Response
   */
  public function index()
  {
    //
  }
  /**
   * Show the form for creating a new resource.
   *
   * @return \Illuminate\Http\Response
   */
  public function create()
  {
    //
  }
  /**
   * Store a newly created resource in storage.
   *
   * @param \Illuminate\Http\Request $request
   * @return \Illuminate\Http\Response
   */
  public function store(Request $request)
  {
    //
  }
  /**
   * Display the specified resource.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function show($id)
  {
    //
  }
  /**
   * Show the form for editing the specified resource.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function edit($id)
  {
    //
  }
  /**
   * Update the specified resource in storage.
   *
   * @param \Illuminate\Http\Request $request
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function update(Request $request, $id)
  {
    //
  }
  /**
   * Remove the specified resource from storage.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  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

更多關于Laravel相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優秀開發框架總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總

希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。

相關文章

最新評論

2019开奖结果