首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Laravel 5 向視圖傳遞資料完整指南

     編輯:PHP 相關知識

Laravel 5 向視圖傳遞資料完整指南

掌握控制器向 Blade 視圖傳遞變數的多種方式、除錯模式開啟、Artisan 產生器使用。

開啟詳細錯誤 (開發環境)

# .env 檔案
APP_DEBUG=true
# 生產環境必須設為 false

使用 Artisan 建立控制器

# 完整 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);
}

Blade 模板語法

// 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() 為反向操作

實戰建議

  1. 簡單頁面用 compact()
  2. 邏輯複雜時先整理 $data 陣列再傳遞
  3. 預設使用 {{ }} 確保安全
  4. 僅在確信內容安全 (如後台編輯器輸出) 時用 {!! !!}
  5. 視圖中變數不存在不會報錯,輸出空字串

靈活運用三種傳遞方式,保持控制器簡潔、視圖專注呈現。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved