最近在学习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中文网其他相关文章!