Cómo evitar las propiedades dinámicas en PHP (generar un error al establecer una propiedad no declarada)

Ejemplo:

error_reporting(E_ALL | E_STRICT); class Test {} $obj = new Test(); $obj->undeclared = "oops"; // I want an error here !! :( echo $obj->algo; // oops 

Lo probé en PHP 5.2.11 y 5.3.0.

No quiero propiedades dinámicas en mis objetos.
¿Es posible forzar a PHP a generar un ERROR en esa situación?

Use __set () ?

 bar = 'foo'; $obj->foo = 'evil'; ?> 

Por “No quiero propiedades dinámicas en mis objetos”. ¿Supongo que quiere decir que no quiere que las variables de su objeto estén indefinidas? Si este es el caso, solo crea una instancia de todas tus variables de clase. Incluso puedes hacer que sean estáticos si realmente te preocupa que sean constantes y no dynamics de ninguna manera.

Si intenta acceder a una variable de objeto que no existe, PHP arrojará un error. La respuesta que los radmen sugirieron sería que, en lugar de arrojar un error, PHP creara dinámicamente variables de objeto indefinidas sobre la marcha.