溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在laravel框架中創(chuàng)建一個控制器

發(fā)布時間:2021-04-13 16:08:04 來源:億速云 閱讀:284 作者:Leah 欄目:開發(fā)技術

怎么在laravel框架中創(chuàng)建一個控制器?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

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

php artisan make:controller TestController

TestController 控制器名我們可以任意指定。文件默認會創(chuàng)建在 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', 'TestController@test');

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

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
  public function test(Request $request)
  {
    //獲取所有請求數(shù)據
    $data = $request->all();
    //獲取指定請求數(shù)據
    $id = $request->input('id');
  }
}

laravel中為我們編寫 restful 風格的代碼,提供了簡單方式,只需在創(chuàng)建控制器命令后面加上 --resource 選項。

php artisan make:controller OrderController --resource

laravel幫我們創(chuàng)建指定的方法,各自表示不同的意義和作用。

<?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/orderindexorder.index顯示所有訂單列表
GET/order/createcreateorder.create顯示創(chuàng)建訂單頁面
POST/orderstoreorder.store接收提交數(shù)據,創(chuàng)建訂單
GET/order/{id}showorder.show顯示單個訂單信息
GET/order/{id}/editeditorder.edit顯示修改訂單頁面
PUT/PATCH/order/{id}updateorder.update接收提交數(shù)據,修改訂單
DELETE/order/{id}destroyorder.destroy刪除訂單

最后我們通過 Route::resource() 來綁定上面的所有路由。

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

我們也可以通過命令查看,綁定的路由列表。

php artisan route:list

看完上述內容,你們掌握怎么在laravel框架中創(chuàng)建一個控制器的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI