Missing Methods Are Fatal

<?php

class x {
    function p() {
        return $this->p;
    }
}

$x = new x;
var_dump($x->p);
var_dump($x->foo());

Calling a missing method is a fatal error. Reading a missing property is a warning, and defaults to NULL. Writing to an undefined property is deprecated in PHP 8.3, and will become a fatal error in PHP 9.0. This means that both errors will have the same impact in the code.

See Also

PHP Features

Last updated: 14 July 2026