Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected static function aspectable($__function, array $__parameters = [], $__prototype = NULL)
- {
- $__class = get_called_class();
- if(isset($__parameters['this']))
- unset($__parameters['this']);
- if(TRUE === static::Core_StaticObject_tAdapter_exists($__function))
- return static::Core_StaticObject_tAdapter_emit($__function, $__parameters);
- $__parameters = static::Core_StaticObject_tFilter_emit($__function, 'PARAMS', $__parameters, ['return' => $__parameters]);
- static::Core_StaticObject_tSignal_emit($__function, 'PRE_EVENT', [$__parameters], ['return' => $__parameters]);
- $__result = static::Core_StaticObject_tMethodFacade_emit($__function, $__parameters, function(array $__params) use ($__class, $__function, $__prototype)
- {
- $result = NULL;
- if(TRUE === static::Core_StaticObject_tMethodProto_exists($__function))
- return static::Core_StaticObject_tMethodProto_emit($__function, $__params);
- if(NULL !== $__prototype)
- {
- $proto = Invoke::normalize($__prototype, $__class);
- if($proto[0] === $__class
- && isset($proto[1])
- && is_string($proto[1]))
- return static::Core_StaticObject_tInvoke_method($proto[1], $__params);
- return isset($proto[1])
- ? Invoke::emit($proto[0], $proto[1], $__params)
- : Invoke::emit($proto[0], $__params);
- }
- return NULL;
- });
- $__result = static::Core_StaticObject_tFilter_emit($__function, 'RETURN', $__result, ['return' => $__result]);
- static::Core_StaticObject_tObserver_emit($__function, [$__result, $__parameters]);
- static::Core_StaticObject_tSignal_emit($__function, 'POST_EVENT', [$__result, $__parameters], ['return' => $__result]);
- return $__result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement