简介:在PHP中提供了强大的系统函数来帮我们完成功能,但有时候只用系统函数往往还是不够的,还需要根据业务来封装自定义函数,《PHP进阶篇-函数视频教程》讲解了如何自定义函数,以及自定义函数中常见问题,是PHP入门必看课程。
课程播放地址:http://www.php.cn/course/417.html
该老师讲课风格:
教师讲课生动形象,机智诙谐,妙语连珠,动人心弦。一个生动形象的比喻,犹如画龙点睛,给学生开启智慧之门;一种恰如其分的幽默,引来学生会心的微笑,如饮一杯甘醇的美酒,给人以回味和留恋;哲人的警句、文化的箴言不时穿插于讲述中间,给人以思考和警醒。
本视频中较为难点是PHP中回调函数的使用了:
回调函数、闭包在JS中并不陌生,JS使用它可以完成事件机制,进行许多复杂的操作。PHP中却不常使用,今天来说一说PHP中中的回调函数和匿名函数。
回调函数
回调函数:Callback (即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。
通俗的解释就是把函数作为参数传入进另一个函数中使用;PHP中有许多 “需求参数为函数” 的函数,像array_map,usort,call_user_func_array之类,他们执行传入的函数,然后直接将结果返回主函数。好处是函数作为值使用起来方便,而且代码简洁,可读性强。
今天在自己创建的类方法中想调用另一个类方法作为其回调函数,本想直接写在回调函数的地方直接写上另一个类方法的名字,可是一直报错说"参数无效",后来一想是不是要用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中文网其他相关文章!