The allowsNull method look if arguments have a type.
If a type is defined, null is allowed only if default value is null.
<?php
function myfunction ( $param ) {
}
echo (new ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>
Result : true
<?php
function myfunction ( stdClass $param ) {
}
echo (new ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>
Result : false
<?php
function myfunction ( stdClass $param = null ) {
}
echo (new ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>
Result : true