Hook-Klasse

ZodiacXP

Erfahrenes Mitglied
Ohne den genauen Nutzen von Hooks zu kennen habe ich eine Klasse geschrieben.
Diese umfasst Magische-Methoden (__get, __set, __unset, __isset) und ist Singletone.

PHP:
class Hook extends MagicList
{
	private static $_instance;
	
	public function __construct() {}
	
	public static function init()
	{
		if (!isset(self::$_instance)) {
            self::$_instance = new Hook();
        }
        return self::$_instance;
	}
	
	public function __clone()
    {
        trigger_error('Cloning not permitted because of singletone',
                      E_USER_ERROR);
    }
}

(MagicList ist eine eigene Klasse und umfasst schlichtes __get, __set, __unset, __isset).

Hat noch jemand Tips für mich oder Hinweise was ich beim "Modellieren" dieses Hooks nicht beachtet habe?
Würdet ihr es anders machen?
Wo kommt das Ding zum Einsatz? Finde es ist fast wie eine "Registry"?

Unnötig aber wer sie haben / sehen will:
PHP:
abstract class MagicList
{
	private $_list = array();
	
	public function __get($var)
	{
		if (isset($this->_list[$var]))
		{
			return $this->_list[$var];
		}
		return NULL;
	}

	public function __set($var, $val)
	{
		$this->_list[$var] = $val;
	}

	public function __isset($var)
	{
		return isset($this->_list[$var]);
	}

	public function __unset($var)
	{
		unset($this->_list[$var]);
	}
}
 

Neue Beiträge

Zurück