Laravel 認識 controller

當路由越來越多越來越雜亂的時候,express 可以模組化路由以分類各大項目的小路由,Laravel 是基於 MVC 架構的應用程式框架,這個分類工作可以交給 Controller 來執行:

init controller

使用優雅的 artisan cmd 就可以創建一個 Controller class 模板,在 windows powerShell 輸入wsl 即可切換至 Linux WSL 子系統,終端機輸入以下指令可以查詢所有 artisan cmd 的說明,記得 cd 進入專案包內才可使用 artisan 指令:

terminal
1
php artisan

建立 Controller 模板的 artisan cmd:

terminal
1
php artisan make:controller homeController

撰寫 Controller

使用路由名稱創建 function 並且制定渲染內容,連接 Views:

App/Https/Controllers/homeController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class homeController extends Controller
{
public function index () {
return view('welcome');
}

// 參數要記得帶
public function dog ($dogName) {
$datas = [
"name" => "Abby",
"dogName" => $dogName
];
return view('routesTest', $datas);
}
}

記得將應用到的動態參數一並移植到 Controller 的 function arguments 中!

對應 Routes 字串

將路由路徑制定好並且傳入陣列參數:

  1. use 剛才創建的 Controller 檔案
  2. 索引[0]放置 ControllerName::class
  3. 索引[1]放置對應 function
    routes/web.php
    1
    2
    3
    4
    5
    6
    7
    8
    <?php

    use Illuminate\Support\Facades\Route;
    use App\Http\Controllers\homeController;

    Route::get('/', [homeController::class, 'index']);
    Route::get('/dog/{dogName}', [homeController::class, 'dog']);

渲染結果:

以上就是 Controller 的常見功能。

Laravel 善用 layout 避免重複的模板 Laravel 認識路由

評論

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×