Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?PHP
- /**
- * ILLI
- *
- * @category ILLI_System
- * @package ILLI
- * @link http://illi.be
- * @license http://l.illi.be
- * @copyright ILLI Conference
- */
- NAMESPACE ILLI\System;
- USE Serializable;
- /**
- * ILLI Object
- *
- * singleton-support
- * <code>
- * <?PHP
- * $t1 = \ILLI\System\Rand::instanceGet(200);
- * var_dump($t1);
- * $t1->__destruct();
- * $t2 = \ILLI\System\Rand::instanceGet(50);
- * var_dump($t2);
- * $foo = new \ILLI\System\Rand(15);
- * var_dump($foo);
- * ?>
- * </code>
- *
- * @category ILLI_System
- * @package ILLI
- * @subpackage System
- * @namespace ILLI\System
- * @link http://illi.be
- * @license http://l.illi.be
- * @copyright ILLI Conference
- * @since 2.0.1
- * @version 3.0.1
- */
- CLASS Object EXTENDS System
- {
- USE tSplHashRegister
- {
- tSplHashRegister___register as private __splRegister;
- tSplHashRegister___unregister as private __splUnregister;
- tSplHashRegister_getCode as public splGetHashCode;
- tSplHashRegister_getInstances as public splGetInstances;
- tSplHashRegister_getSiblings as public splGetSiblingInstances;
- }
- USE tAdapter
- {
- tAdapter_registerTrigger as private adapterRegisterTrigger;
- tAdapter_unregisterTrigger as protected adapterUnregisterTrigger;
- tAdapter_callAlias as protected adapterCallAlias;
- tAdapter_triggerExists as protected adapterTriggerExists;
- tAdapter_registerTriggerMethod as public adapterRegisterTriggerMethod;
- tAdapter_registerTriggerStaticMethod as public adapterRegisterTriggerStaticMethod;
- tAdapter_registerTriggerClosure as public adapterRegisterTriggerClosure;
- }
- USE tObserver
- {
- tObserver_registerEvent as private observerRegisterEvent;
- tObserver_unregisterEvent as protected observerUnregisterEvent;
- tObserver_notify as protected observerNotify;
- tObserver_eventExists as protected observerEventExists;
- tObserver_registerEventMethod as public observerRegisterEventMethod;
- tObserver_registerEventStaticMethod as public observerRegisterEventStaticMethod;
- tObserver_registerEventClosure as public observerRegisterEventClosure;
- }
- USE tFilter
- {
- tFilter_registerEvent as private filterRegisterEvent;
- tFilter_registerEventMethod as protected filterRegisterEventMethod;
- tFilter_registerEventStaticMethod as protected filterRegisterEventStaticMethod;
- tFilter_registerEventClosure as protected filterRegisterEventClosure;
- tFilter_unregisterTrigger as public filterUnregisterEvent;
- tFilter_triggerExists as public filterTriggerExists;
- tFilter_applyFilter as public filterApply;
- }
- USE tVirtualMethod
- {
- tVirtualMethod_remove as protected virtualMethodRemove;
- tVirtualMethod_add as public virtualMethodAdd;
- tVirtualMethod_call as public virtualMethodCall;
- }
- USE tInstance
- {
- tInstance___unregister as private __instanceUnregister;
- tInstance_get as public instanceGet;
- tInstance_register as public instanceRegister;
- tInstance_getName as public instanceGetName;
- tInstance_exists as public instanceExists;
- tInstance_getNames as public instanceGetNames;
- }
- protected $__Collection = NULL;
- public function getCollection()
- {
- return $this->__Collection;
- }
- public function __set($index, $value)
- {
- var_dump($this->adapterTriggerExists(__METHOD__), __METHOD__, func_get_args());
- var_dump($this->adapterTriggerExists(get_called_class().'::'.__FUNCTION__), get_called_class().'::'.__FUNCTION__, func_get_args());
- if(TRUE === $this->adapterTriggerExists(__METHOD__))
- return $this->adapterCallAlias(__METHOD__, $index, $value);
- $filtered = $this->filterApply('args', __METHOD__, array('index' => $index, 'value' => $value));
- $index = $filtered['index'];
- $value = $filtered['value'];
- $this->__Collection->offsetSet($index, $value);
- $this->observerNotify(__METHOD__, $index, $value);
- }
- public function __get($index)
- {
- if(TRUE === $this->adapterTriggerExists(__METHOD__))
- return $this->adapterCallAlias(__METHOD__, $index);
- $filtered = $this->filterApply('args', __METHOD__, array('index' => $index));
- $index = $filtered['index'];
- $value = $this->__Collection->offsetGet($index);
- $this->observerNotify(__METHOD__, $index, $value);
- $value = $this->filterApply('return', __METHOD__, $value);
- return $value;
- }
- public function __call($name, array $args = array())
- {
- if(TRUE === $this->adapterTriggerExists(__METHOD__))
- return $this->adapterCallAlias(__METHOD__, $args);
- $filtered = $this->filterApply('args', __METHOD__, array('method' => $name, 'args' => $args));
- $name = $filtered['method'];
- $args = $filtered['args'];
- $value = $this->virtualMethodCall($name, $args);
- $this->observerNotify(__METHOD__, $name, $value, $args);
- $value = $this->filterApply('return', __METHOD__, $value);
- return $value;
- }
- public function __destruct()
- {
- $this->__instanceUnregister($this);
- $this->__splUnregister();
- }
- public function __construct()
- {
- $this->__splRegister();
- $this->__Collection = new Collection;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement