php is_callable()参数里有方括号?

看slim源码的时候发现这种用法

clipboard.png
官方手册

clipboard.png
为什么能这么用,$route是一个对象,$setOutputBuffering是里面一个方法

================
PS:还有这个是什么高级用法

clipboard.png

阅读 3.9k
2 个回答

首先,[...] 方括号是php5.4后提供的一个数组短写语法,其实就是和array(...)效果是一样的。

其次,callablephp表示可执行方法,callable的表示有很多种方式,利用数组来表示就是其中一种。这里的[$route, 'setOutputBuffering']就是表示$route这个对象中的setOutputBuffering这个方法。

最后的语法是php中的HEREDOC语法,其实就是一种多行字符串的表示方法。

[$route, 'setOutputBuffering']这种常用在call_user_func_array

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题