最近在學習PHP的物件導向程式設計,覺得物件導向思想在解決複雜的問題時確實發揮著巨大的作用,無法想像如果星際爭霸遊戲在開發時沒有使用物件導向思想是多麼的複雜。物件導向思想確實是電腦程式設計方法史上的重大的進步。
今天在自己建立的類別方法中想呼叫另一個類別方法作為其回呼函數,本來想直接寫在回呼函數的地方直接寫上另一個類別方法的名字,可是一直報錯說"參數無效",後來一想是不是要用SELF關鍵字試試,結果還是報這種錯誤。真不知道該怎麼辦了,查了一下中文手冊也沒有找到解決方法,後來仔細的看了一下PHP官方網站的手冊,這個手冊上有解決這個問題的語法。
class utils{ public function array_or( $input ) { return array_reduce( $input, array('Utils','sum' ), 0 ); } public function sum( $v, $w ) { return $v += $w; } } $uti = new utils; $a = array(1,2,3,4,5); echo $uti->array_or($a);
讓我感覺很奇怪,為什麼呼叫另一個類別方法會用陣列的形式,好像用SELF關鍵字更合適些吧,哎,真不知道他們是出於什麼樣的考慮要設計這樣的語法。不過我想既然人家這樣設計一定是有他的道理,只是我還沒悟出這個道理而已。
以上是在php的類別中使用回調函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!