[英]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.