关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
切换模式
返回顶部
首页
说说
开发
AI
游戏
资源
杂七杂八
首页
说说
开发
AI
游戏
资源
杂七杂八
关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
将可能可执行的内容转换成is_callable可识别的callable
开发
·
2017-10-10
·
更新于 2020-06-26
LiesAuer
``` new C2, 'me' => '__invoke'], ]; class C1 {} class C2 { public function __invoke() {} public function aaa() {} } class SC1 { public static function sc11() {} } foreach ($callables as $callable) { var_dump(resolveCallable($callable)); echo "\n"; } /** * 将可能可执行的内容转换成is_callable可识别的callable * 可识别内容: * 任何is_callable()===true的callable * 任意存在且含有__invoke方法的AnyClass::class * * @param string $callable 可能可执行的内容 * @param bool $return_false 当发生无法转换时,是否返回false,默认返回一个空匿名函数 * @return callable | false */ function resolveCallable($callable, $return_false = false) { if (is_callable($callable)) { return $callable; } elseif (is_string($callable) && class_exists($callable)) { return resolveCallable(new $callable, $return_false); } elseif (is_array($callable) && @$callable[1] === '__invoke') { return resolveCallable(@$callable[0], $return_false); } else { return $return_false ? false : function () {}; } } ```
如遇到文件无法下载,可右键复制链接打开标签页粘贴下载!
如果您觉得文章或项目对您有帮助,戳我请博主喝一杯咖啡叭!
正在加载验证组件...
取消回复
提交评论
瞅一瞅叭
收一个 Reqable 永久版订阅
最新评论
sineava: 大哥666,我就一直很好奇这Hoppscotch代理中间件咋写的...
laidou: 大佬求解释这个使用什么抓包的啊
Dog: hello,Can you please confirm if ...
追梦人: 大佬请问开纸飞机会员速度能提升吗?能的话我开一个,资源太多了,速...
追梦人: 要不内置个 sqlite-web?
cookee77: 好了 去github下载了 谢谢
cookee77: 请问为什么下载不了
关于站长
广东 佛山
liesauer#liesauer.net
LiesAuer
CC BY-NC-SA 4.0
粤ICP备16094588号-1
萌ICP备20245567号
茶
茶ICP备2025080027号
Theme
Jasmine
by
Kent Liao