我收到錯誤「未定義的變量:區間在C:\ WAMP \ WWW \ DGC \類\ DateFilter.php」PHP - 私有類變量給錯誤:未定義的變量
這裏是我的DateFilter碼類:
class DateFilter extends Filter
{
//@param daysOld: how many days can be passed to be included in filter
//Ex. If daysOld = 7, everything that is less than a week old is included
private $interval;
public function DateFilter($daysOld)
{
echo 'days old' . $daysOld .'</ br>';
$interval = new DateInterval('P'.$daysOld.'D');
}
function test()
{
echo $interval->format("%d days old </br>");
//echo 'bla';
}
}
當我創建DateFilter類和呼叫測試的新實例()它給我的錯誤。我意識到這意味着變量還沒有被初始化,但我知道構造函數被調用,因爲我在那裏放置了一個echo語句,並且它被輸出。
我也嘗試過: $ this :: $ interval-> format(...); self :: $ interval-> format(...); 但它沒有奏效。
我知道這可能是一個簡單的修復,對於noob問題抱歉。我不敢相信這讓我難堪。
echo $ this - > $ interval-> format(「%d days old」); 也給我這個同樣的錯誤:/ – CHawk
刪除第二個美元符號。它是$ this-> interval –
我總是發現PHP非常「奇怪」,迫使你使用'$ this'來訪問對象字段。許多其他語言(如C#)不會(如果變量與本地名稱不同)。無論如何,使用'this'總是一個好習慣,恕我直言:它可以幫助您快速查看對象屬性並避免與局部變量混淆。 – gremo