如何使用Nikic/PHPParser获取变量值



我有以下PHP代码文件:

<?php
class ObjectTest extends AppTest
{
public function getList()
{
return [
'1234',
'5678',
];
}
}

现在我喜欢使用nikic/PHP Parser来获取getList函数的返回值

我该怎么做?

以下操作即可完成:

$parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7);
try {
$ast = $parser->parse($code);
} catch (Error $error) {
// Handle error...
}
$class = $ast[0];
$method = $class->getMethod('getList');
$returnStatement = $method->getStmts()[0];
$returnedValues = array_map(fn($item) => $item->value->value, $returnStatement->expr->items);
print_r($returnedValues);  // [1234, 5678]

演示

相关内容

  • 没有找到相关文章

最新更新