掌握控制器向 Blade 視圖傳遞變數的多種方式、除錯模式開啟、Artisan 產生器使用。
# .env 檔案 APP_DEBUG=true # 生產環境必須設為 false
# 完整 RESTful 控制器 php artisan make:controller PagesController # 空白控制器 (推薦) php artisan make:controller PagesController --plain # 查看指令說明 php artisan help make:controller
public function about() {
$name = 'Zhang Jinlgin';
return view('pages.about')->with('name', $name);
}
// resources/views/pages/about.blade.php
<h1>About {{ $name }}</h1>
{{-- {{ }} 自動跳脫 HTML,防止 XSS --}}
<h1>About {!! $name !!}</h1>
{{-- {!! !!} 輸出原始 HTML,僅信任內容使用 --}}
// 1. 陣列 + with()
return view('pages.about')->with([
'first' => 'Zhang',
'last' => 'Jinglin'
]);
// 2. 直接傳遞陣列 (鍵值即變數名)
$data = ['first' => 'Zhang', 'last' => 'Jinglin'];
return view('pages.about', $data);
// 3. compact() 函數 (最簡潔)
$first = 'Zhang';
$last = 'Jinglin';
return view('pages.about', compact('first', 'last'));
compact() 將變數名轉為鍵值陣列extract() 為反向操作compact()$data 陣列再傳遞{{ }} 確保安全{!! !!}靈活運用三種傳遞方式,保持控制器簡潔、視圖專注呈現。