gpt4 book ai didi

php - 有没有办法在 PHP 中输​​出函数的定义?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:20 25 4
gpt4 key购买 nike

function func() {
// ...
}

我有函数名称 "func",但没有它的定义。

在 JavaScript 中,我只使用 alert() 来查看定义。

PHP有类似的功能吗?

最佳答案

您可以使用 ReflectionFunctionAbstract 中定义的方法 getFileName()、getStartLine()、getEndLine()从源文件(如果有的话)中读取函数/方法的源代码。

例如(没有错误处理)

<?php
printFunction(array('Foo','bar'));
printFunction('bar');


class Foo {
public function bar() {
echo '...';
}
}

function bar($x, $y, $z) {
//
//
//
echo 'hallo';

//
//
//
}
//


function printFunction($func) {
if ( is_array($func) ) {
$rf = is_object($func[0]) ? new ReflectionObject($func[0]) : new ReflectionClass($func[0]);
$rf = $rf->getMethod($func[1]);
}
else {
$rf = new ReflectionFunction($func);
}
printf("%s %d-%d\n", $rf->getFileName(), $rf->getStartLine(), $rf->getEndLine());
$c = file($rf->getFileName());
for ($i=$rf->getStartLine(); $i<=$rf->getEndLine(); $i++) {
printf('%04d %s', $i, $c[$i-1]);
}
}

关于php - 有没有办法在 PHP 中输​​出函数的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1781335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com