[英]PHP include file variables losing scope
在一個類中,我有一個從外部文件中讀取一些變量的方法。 然后,我使用這些包含的變量設置成員變量。 但是,一旦此方法完成,成員變量將重置為null。 我究竟做錯了什么?
main.php
$bob = new Object();
$bob->init();
echo $bob->value;
Object.php
public function init() {
include('/includefile.inc');
$this->value = $included_value;
echo $this->value;
}
includefile.inc
<? $included_value = 'Hello World'; ?>
Object.php內部的回顯將正常工作,但main中的外部回顯將為null。 value是Object.php類定義內的公共變量。
直接從手冊中引用...
當包含文件時,該文件包含的代碼將繼承包含所在行的變量范圍。 從那時起,調用文件中該行上可用的任何變量將在被調用文件中可用。 但是,包含文件中定義的所有函數和類都具有全局作用域。
因此...
public function init() {
$included_value=false;
include('/includefile.inc');
$this->value = $included_value;
echo $this->value;
}
應該可以按照您的預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.