簡體   English   中英

將變量傳遞到包含的文件

[英]Passing variables to an included file

我有一個模板類,它像這樣:

class Template{
public $pageTitle = "";
public function __construct($pageTitle){
    $this->pageTitle = $pageTitle;
}

public function display(){
    include "/includes/head.php";
    include "/includes/body.php";
}
}

現在,我已經習慣了Java的工作原理,但是我不明白為什么會收到未定義的變量($ pageTitle)錯誤。 包含的文件需要能夠訪問該變量。 我知道這將非常簡單,但實際上我還沒有找到原因。 我需要做些什么才能包含此變量?

包括還必須使用$this->pageTitle 有效地, include使它們成為方法主體的一部分。

包含的文件與您的對象位於同一范圍內。 因此,您需要致電:

$this->pageTitle

如果您不想執行整個$ this-> ,則可以執行以下操作... extract函數將把$ this-> data數組提取為變量,其名稱分別對應於每個項目的鍵/索引。 現在,您將可以執行echo $ pageTitle;。

class Template{
   public $data = Array();

   public function __construct($pageTitle){
        $this->data['pageTitle'] = $pageTitle;
   }

   public function display(){
        extract($this->data);
        include "/includes/head.php";
        include "/includes/body.php";
   }
}

范圍在PHP中與在Java中有所不同。 對於您的具體情況,您需要

$this->pageTitle

要訪問在類外部聲明的變量,您需要將其設置為全局

global $myVar;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM