Example #1
0
 /**
  * Magic __call
  *
  * @param string $name name
  * @param array  $args arguments
  *
  * @return mixed
  */
 public function __call($name, $args)
 {
     $map = array('settings' => array(false, array(self::$settings, 'get')), 'on' => array(false, array($this->event, 'on')), 'off' => array(true, array($this->event, 'off')), 'bind' => array(false, array($this->event, 'bind')), 'unbind' => array(true, array($this->event, 'unbind')), 'fire' => array(true, array($this->event, 'fire')), 'preventParentEvent' => array(true, array($this->event, 'preventParentEvent')), 'rule' => array(true, '\\Ant\\Parser::rule'), 'share' => array(true, '\\Ant\\Fn::share'), 'register' => array(true, array(self::$plugin, 'register')), 'activate' => array(true, array(self::$plugin, 'activate')), 'isActivated' => array(false, array(self::$plugin, 'isActivated')), 'deactivate' => array(true, array(self::$plugin, 'deactivate')), 'unregister' => array(true, array(self::$plugin, 'unregister')), 'fromFile' => array(true, array($this->render, 'fromFile')), 'fromString' => array(true, array($this->render, 'fromString')), 'has' => array(false, array($this->render, 'has')), 'logic' => array(true, array($this->render, 'logic')), 'get' => array(true, array($this->render, 'get')), 'assign' => array(true, array($this->render, 'assign')), 'draw' => array(false, array($this->render, 'draw')));
     if (array_key_exists($name, $map)) {
         $callres = call_user_func_array($map[$name][1], $args);
         return true === $map[$name][0] ? $this : $callres;
     } else {
         if (method_exists('\\Ant\\Fn', $name) or Fn::isShared($name)) {
             return call_user_func_array('\\Ant\\Fn::' . $name, $args);
         } else {
             throw new Exception(sprintf('Undeclared method \\Ant\\Ant::%s', $name));
         }
     }
 }