在PHP5中,每個CLASS都會被示為一個type!例如在:
class ClassName
{
private $Name="kaon";
}
$class=new ClassName;
以上$class的type將會是ClassName.
在PHP5中,提供了一個檢查class type的方法:
if($class instanceof ClassName) echo '$class type is ClassName';
好像沒有什麼重要?如果我們可以肯定每一個使用CLASS的人也不會傳入錯誤的參數,那當然一點也不重要,但我們該在完美和安全性的前題下進行編程。
我們來看看以下的範例:
class ClassName
{
public $Name;
private $Sex;
public function __construct($name,$sex) //如果傳入的參數$sex不進行class type 驗證.
{
$this->Name=$name;
$this->Sex=$sex;
}
public function getSex()
{
$this->Sex->Search($this->Name); //到這樣將會出現錯誤.
}
}
所以一般來說,在傳入參數時也該進行驗證,以下是簡單化的用法:
function __construct($name,Sex $sex){} //這樣也會檢查$sex的class type是否為Sex Class.
沒有留言:
張貼留言