Typical PHP behaviour with class properties

Code
<?php

// a class without anything
class Foo {}

$anyObject = new Foo();
// Foo has no property funProp
var_dump(property_exists($anyObject'funProp'));

$anyObject->funProp 'you don\'t have properties, Foo? ' .
    
'Are you sure?';

// suddenly it has a property funProp
var_dump(property_exists($anyObject'funProp'));

// Open the door to bad code with this behaviour
echo $anyObject->funProp;
Result
bool(false)
bool(true)
you don't have properties, Foo? Are you sure?
Used Versions
PHP 7.1, Zend 3.0, Symfony 3.2, Laravel 5.2, PHPUnit 5.6, Doctrine 2.6