* @package Mammut */ class StrictObject extends MObject { // we do not allow getting of undefined properties /** @ignore **/ public function __get($name) { throw new \InvalidArgumentException("property {$name} doesn't exist in " . get_called_class()); } // we do not allow the creation of new properties /** @ignore **/ public function __set($name, $value) { throw new \InvalidArgumentException("property {$name} doesn't exist in " . get_called_class()); } // universal getter method for all properties which start with [a-z] /** @ignore **/ public function __call($name, $arguments) { throw new \BadMethodCallException("no such method '{$name}' in " . get_called_class()); } }