Files
iTop/sources/PhpParser/Evaluation/VariableEvaluator.php
2025-09-05 15:21:15 +02:00

28 lines
542 B
PHP

<?php
namespace Combodo\iTop\PhpParser\Evaluation;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\Variable;
class VariableEvaluator extends AbstractExprEvaluator {
public function GetHandledExpressionType(): ?string {
return Variable::class;
}
public function Evaluate(Expr $oExpr): mixed {
/** @var Variable $oExpr */
$sName = $oExpr->name;
if (array_key_exists($sName, get_defined_vars())) {
return $$sName;
}
if (array_key_exists($sName, $GLOBALS)) {
global $$sName;
return $$sName;
}
return null;
}
}