在调试的时候 如果遇到了闭包,很想知道具体是那个闭包。可是ide一般不会显示闭包的函数体。于是从网上抄了个函数用于显示闭包函数的内容function my_closure_dump(Closure $c) { $str = 'function ('; $r = new \ReflectionFunction($c); $params = array(); foreach($r->getParameters() as$p) { $s = ''; if($p->isArray()) { $s .= 'array '; } elseif($p->getClass()) { $s .= $p->getClass()->name . ' '; } if($p->isPassedByReference()){ $s .= '&'; } $s .= '$' . $p->name; if($p->isOptional()) { $s .= ' = ' . var_export($p->getDefaultValue(), TRUE); } $params []= $s; } $str .= implode(', ', $params); $str .= '){' . PHP_EOL; $lines = file($r->getFileName()); for($l = $r->getStartLine(); $l $r->getEndLine(); $l++) { $str .= $lines[$l]; } return$str;}登录后复制 以上就介绍了查看闭包函数的函数体,包括了函数,查看方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
08-16 17:35