lundi 11 septembre 2017

PHP Doc comment after unserialization

The ReflectionMethod instance from PHP (http://ift.tt/2xrg4nM) has the getDocComment method that returns the annotation of a method. This works ok, unless you use unserialized object.

$ref = new ReflectionClass('a');
var_dump(method_exists($ref, 'getDocComment')); //bool(true)
var_dump($ref->getDocComment()); //bool(false)

$ref = unserialize(serialize($ref));
var_dump(method_exists($ref, 'getDocComment')); //bool(true)
var_dump($ref->getDocComment()); //PHP Warning:  Uncaught Error: Internal error: Failed to retrieve the reflection object

Is there any way of testing if the ReflectionMethod object has correctly defined doc comment? I mean, I do not care about getting the annotation after serialize/unserialize, but I want to check if calling getDocComment is safe.





Aucun commentaire:

Enregistrer un commentaire