コード例 #1
0
ファイル: Preset.php プロジェクト: brussens/cogear2
 /**
  * Преобразуем строку действия в реальный callback
  *
  * @param string $action
  * @return  Callback
  */
 public function parseAction($action)
 {
     if (preg_match('#^(\\w+)\\((.+)\\)$#', $action, $matches)) {
         $action = $matches[1];
         $matches[2] = str_replace(' ', '', $matches[2]);
         $args = explode(',', $matches[2]);
         $callback = new Callback(array($this->image, $action));
         $callback->setArgs($args);
         return $callback;
     }
     return NULL;
 }
コード例 #2
0
ファイル: Cogear.php プロジェクト: romartyn/cogear
 /**
  * Register hooks for event
  *
  * @param   string  $event
  * @param   callback  $callback
  */
 public function hook($event, $callback, $position = NULL)
 {
     $args = func_get_args();
     $this->events->{$event} or $this->events->{$event} = new Event();
     $args = array_slice($args, 3);
     $callback = new Callback($callback);
     $callback->setArgs($args);
     if ($position !== NULL) {
         $this->events->{$event}->inject($callback, $position);
     } else {
         $this->events->{$event}->append($callback);
     }
 }