php - Calling the variable property directly vs getter/setters - OOP Design - Stack Overflow:
abstract class Object
{
    public function __call($method, $args)
    {
        $key = '_' . strtolower(substr($method, 3, 1)) . substr($method, 4);
        $value = isset($args[0]) ? $args[0] : null;
        switch (substr($method, 0, 3)) {
            case 'get':
                if (property_exists($this, $key)) {
                    return $this->$key;
                }
                break;
            case 'set':
                if (property_exists($this, $key)) {
                    $this->$key = $value;
                    return $this;
                }
                break;
            case 'has':
                return property_exists($this, $key);
                break;
        }
        throw new Exception('Method "' . $method . '" does not exist and was not trapped in __call()');
    }
}
 
No comments:
Post a Comment