2012-04-27 109 views
2

我希望在我的類中具有一個具有默認參數的函數,以便在需要時可以省略參數。我希望缺省值是存儲在我的類中的變量;在PHP函數中引用類變量作爲默認參數

嗨爲什麼這顯示Aptana中的錯誤消息?

class property{ 
    private $id; 
    function load_data($id = $this->id){ 
     //...blah blah blah 
    } 
} 

我應該改用

class property{ 
    static $id; 
    function load_data($id = self::id){ 
     //...blah blah blah 
    } 
} 

感謝您的幫助

回答

6

我很確定你不能做你正在尋找的東西。相反,您應該簡單地檢查參數是否有值,如果不是,則指定作爲對象屬性的默認值。

class property{ 
    private $id; 
    function load_data($id = null){ 
     $id = (is_null($id)) ? $this->id : $id; 
    } 
} 
+2

三元爲勝。 – 2012-04-27 00:39:28

+1

雖然我喜歡三元組,但我儘量避免給自己設置一個變量。 – 2012-04-27 23:48:25

1

你可以這樣做:

class property 
{ 
    private $id; 

    function load_data($id = null){ 

     if (is_null($id)) { 
      $id = $this->id; 
     } 

     //...blah blah blah 
    } 
} 
+0

打敗我吧。哪里哪里。 – 2012-04-27 00:39:19

+0

洛爾是一場比賽。 – 2012-04-27 00:40:06

+0

不是那麼接近,在我提交之前看到了AJAX通知。 ;-) – 2012-04-27 00:40:52