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

CodeIgniter 控制器一次載入多個 View 的實作方式

     編輯:PHP 綜合知識

前言

CodeIgniter 的 $this->load->view() 可多次呼叫,依序輸出多個視圖片段,自動拼接成完整頁面。常用於「版面佈局」:Header、Nav、Content、Footer 分離。

控制器範例

<?php
class PageController extends CI_Controller {
    public function home() {
        $data['page_title'] = "Welcome to jb51.net";

        // 依序載入,輸出會自動串接
        $this->load->view('page_header', $data);
        $this->load->view('page_nav');
        $this->load->view('page_content');
        $this->load->view('page_footer');
    }
}
?>

視圖檔案結構

application/views/
├── page_header.php   // <html><head><title>

進階:回傳字串而非直接輸出

第三參數設為 true 可讓 view() 回傳渲染後字串,而非直接輸出:

$html = $this->load->view('page_content', $data, true);
// 可進一步處理、快取、或傳給其他視圖
$this->load->view('layout', ['content' => $html]);

注意事項

  • 多次 view() 呼叫會**依序輸出**,確保 HTML 結構正確(如 header 在前、footer 在後)。
  • 共用變數(如 $page_title)需在每次呼叫時傳遞,或使用 $this->load->vars() 設定全域視圖變數。
  • 若需「版面佈局」模式,建議改用 layout 視圖包裹 $content,而非多次輸出,結構更清晰。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved