You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I have noticed that if I have a file with the following PHP code:
<?php
//*
aop_add_after("**->*()", function(AopJoinPoint $joinPoint) {
// advice's body
});
//*/
function myFunc($param1, $param2) {
//
//
//
echo "myFunc";
}
$r = new ReflectionFunction("myFunc");
ReflectionFunction::export("myFunc");
var_dump($r->getName());
var_dump($r->getStartLine());
var_dump($r->getEndLine());
var_dump($r->getStartLine()); and var_dump($r->getEndLine()); will both output an unexpected null. If I comment the code which adds the advice:
<?php
/*
aop_add_after("**->*()", function(AopJoinPoint $joinPoint) {
// advice's body
});
*/
function myFunc($param1, $param2) {
//
//
//
echo "myFunc";
}
$r = new ReflectionFunction("myFunc");
ReflectionFunction::export("myFunc");
var_dump($r->getName());
var_dump($r->getStartLine());
var_dump($r->getEndLine());
Everything works as expected and var_dump($r->getStartLine()); and var_dump($r->getEndLine()); both respectively output:
int 9
int 14
So it seems that when an advice is added some methods of the Reflection API (in this case _ReflectionFunction->getStartLine()_ and _ReflectionFunction->getEndLine()_, didn't test other methods, doesn't behave like expected...)
EDIT: it seems that only the first method of ReflectionFunction() actually returns its return value properly, if I change those 'var_dump's above to:
var_dump($r->getStartLine()); # instead of 'var_dump($r->getName());'
var_dump($r->getStartLine());
var_dump($r->getEndLine());
Only the first var_dump outputs its return value properly, the other two return null...
The text was updated successfully, but these errors were encountered:
Hi, I have noticed that if I have a file with the following PHP code:
var_dump($r->getStartLine());
andvar_dump($r->getEndLine());
will both output an unexpected null. If I comment the code which adds the advice:Everything works as expected and
var_dump($r->getStartLine());
andvar_dump($r->getEndLine());
both respectively output:So it seems that when an advice is added some methods of the Reflection API (in this case _ReflectionFunction->getStartLine()_ and _ReflectionFunction->getEndLine()_, didn't test other methods, doesn't behave like expected...)
EDIT: it seems that only the first method of ReflectionFunction() actually returns its return value properly, if I change those 'var_dump's above to:
Only the first var_dump outputs its return value properly, the other two return null...
The text was updated successfully, but these errors were encountered: