類別與物件->基本概念:
1,#############################
::class
自PHP 5.5 起,關鍵字class 也可用於類別名稱的解析。使用 ClassName::class 你可以取得一個字串,包含了類別 ClassName 的完全限定名稱。這對使用了 命名空間 的類別尤其有用。
Example #7 類別名稱的解析as stated in the docs is:
namespace NS {
class ClassName {
}
2,#############################
Just to be clear: the correct way of validating a classname, as stated in the docs is:
$valid = preg_match('/^[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*$/', $className);
3,####### #######################
屬性中的變數可以初始化,但初始化的值必須是常數,這裡的常數是指PHP 腳本在編譯階段時就可以得到其值,而不依賴執行時的資訊才能求值
PHP 5.3.0 新增支援Nowdoc聲明類別屬性; 不包含變數的heredoc也是可以的,包含變數就錯。
new static() 會遵循繼承關係,new 的是子類別
new self() 不會被繼承,new 的是self 這個字所在的那個類別
###
As of PHP 5.6 you can finally define constant###
As of PHP 5.6 you can finally define constant using math expressions, like this one:
class MyTimer {
const SEC_PER_DAY = 60 * 60 * 24;
}
?>
#15.同名的方法不再作為建構子。這項改變不影響不在命名空間中的類別。
namespace Foo;
class Bar {
public $a;
public function Bar() {
{
return $this- >a;
}
}
$bar = new Bar();
echo $bar->getA(); //空; 去掉命名空間則輸出 to here;
###
//空; 去掉命名空間則輸出 to here;
###
//PHP 5.3.可以透過變數來引用類,該變數的值不能是關鍵字(如self,parent 和static)。
帶整理:
self,parent 和 static
public(公有),protected(受保護)或 private(私有)
以上就介紹了看php手冊2015-03-19版後備註,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。