用php這麼久了,慚愧的是,原來自己還一直沒分清楚這幾個關鍵字使用方法。今天來總結下。
1、在類的內部方法訪問已經聲明為const及static的屬性時,使用self::$name的形式。注意的是const屬性的申明格式,const PI=3.14,而不是const $PI=3.14
以下為引用的內容:
class clss_a {
private static $name="static class_a";
const PI=3.14;
public $value;
public static function getName()
{
return self::$name;
}
//這種寫法有誤,靜態方法不能訪問非靜態屬性
public static function getName2()
{
return self::$value;
}
public function getPI()
{
return self::PI;
}
}
還要注意的一點是如果類的方法是static的,他所訪問的屬性也必須是static的。
2、在類的內部方法訪問未聲明為const及static的屬性時,使用$this->value ='class_a';的形式。