コード例 #1
0
ファイル: Dispatcher.php プロジェクト: visor/nano
 /**
  * @return string
  * @param string $name
  * @param boolean $controller
  * @param string|null $module
  */
 public static function formatName($name, $controller = true, $module = null)
 {
     if ($controller) {
         return \Nano\Names::controllerClass($name, $module);
     }
     $result = \Nano::stringToName($name);
     $result = strToLower($result[0]) . subStr($result, 1);
     $result .= self::SUFFIX_ACTION;
     return $result;
 }
コード例 #2
0
ファイル: Manager.php プロジェクト: visor/nano
 /**
  * @return \Nano\Event
  * @param string|\Nano\Event $eventOrType
  * @param array $arguments
  */
 public function trigger($eventOrType, array $arguments = array())
 {
     $this->loadEvents();
     $event = $eventOrType instanceof \Nano\Event ? $eventOrType : new \Nano\Event($eventOrType);
     foreach ($arguments as $name => $value) {
         $event->setArgument($name, $value);
     }
     $methodName = 'on' . \Nano::stringToName($event->getType());
     foreach ($this->handlers as $instance) {
         if (method_exists($instance, $methodName)) {
             call_user_func(array($instance, $methodName), $event);
         }
     }
     if ($this->callbackExists($eventOrType)) {
         foreach ($this->callbacks->offsetGet($event->getType()) as $handler) {
             $handler($event);
         }
     }
     return $event;
 }
コード例 #3
0
ファイル: Cli.php プロジェクト: visor/nano
 protected function addScript($fileName)
 {
     $name = baseName($fileName, '.php');
     $className = 'CliScript\\' . \Nano::stringToName($name);
     if (!class_exists($className, false)) {
         include_once $fileName;
         if (!class_exists($className, false)) {
             return;
         }
     }
     $script = new \ReflectionClass($className);
     if (!$script->isSubclassOf('\\Nano\\Cli\\Script')) {
         return;
     }
     if (!$script->isInstantiable()) {
         return;
     }
     if ($this->maxLength < ($length = strLen($name))) {
         $this->maxLength = $length;
     }
     $this->scripts[$name] = $script;
 }