Je voudrais avoir un avis sur la question suivante et le code :
<?php
class Test
{
public $unevar;
public function monTest()
{
echo 'Je suis dans monTest()<br />';
}
}
$myvar = null;
if ($myvar->monTest() && $myvar instanceof Test) {
echo 'Je suis bien un objet Test.<br />';
}
else {
echo 'Je ne suis pas un objet Test.<br />';
}
?>
Dans ce cas, le php me retourne bien une erreur qui est la suivante .
Code : Tout sélectionner
Fatal error: Call to a member function monTest() on a non-object in /var/www/html/test/test-instanceof.php on line 14Par contre si on inverse la condition, le message d'erreur disparaît et le test passe dans le "echo 'Je ne suis pas un objet Test.<br />'".
if ($myvar instanceof Test && $myvar->monTest()) {
Je me demande pourquoi l'objet n'est pas évaluer comme n'étant pas créé et qu'il n'y a pas de message d'erreur ?Quelqu'un pour une petite explication ?
Merci.