if(!$id){
if($page){ // load by name
$r=Page::getInstanceByName($page);
if($r && isset($r->id))$id=$r->id;
unset($r);
}
我是oop的新手,所以我無法理解這行很好,($ r = Page :: getInstanceByName($ page);)任何人都可以解釋它對我來說。謝謝,php ---在if循環中的一行
if(!$id){
if($page){ // load by name
$r=Page::getInstanceByName($page);
if($r && isset($r->id))$id=$r->id;
unset($r);
}
我是oop的新手,所以我無法理解這行很好,($ r = Page :: getInstanceByName($ page);)任何人都可以解釋它對我來說。謝謝,php ---在if循環中的一行
類「頁」有一個函數getInstanceByName,你打電話。
該函數是靜態的,這意味着你可以調用它而不需要實際製作一個對象。它不需要Page類中的任何內容。
,而不是:
$myPage = new Page();
$myPage->getInstanceByName($page);
功能可能是這樣的;
public static function getInstanceByName($page){
...
}
$r = Page::getInstanceByName($page);
getInstanceByName
上Page
類(這應該是公共靜態方法)$page
是參數由上述靜態方法通入靜態方法$r
類頁面,而不是對象頁面。一個對象是一個類的實例。 – 2011-01-07 09:45:56
這是一個Factory method pattern設計,用於從給定頁面規範返回對象(很可能是一個頁面名稱)。
Page :: getInstanceByName($ page)您可以調用靜態方法:類「Page」類的`getInstanceByName`,其參數名爲`$ page` – cristian 2011-01-07 09:41:27