コード例 #1
0
ファイル: Log.php プロジェクト: covex-nn/joos
 /**
  * Return log writers
  * 
  * @return array
  */
 public static function getWriters()
 {
     if (is_null(self::$_writers)) {
         $writers = Config::getInstance("JooS_Log")->writers;
         /* @var $writers JooS_Config */
         if (!is_null($writers)) {
             foreach ($writers->valueOf() as $name) {
                 $name = ucfirst(strtolower($name));
                 $className = Loader::getClassName(__NAMESPACE__ . "\\", $name);
                 if (Loader::loadClass($className)) {
                     $writer = new $className();
                     if ($writer instanceof Log_Interface) {
                         self::addWriter($writer);
                     }
                 }
             }
         } else {
             self::$_writers = array();
         }
     }
     return self::$_writers;
 }
コード例 #2
0
ファイル: Broker.php プロジェクト: covex-nn/joos
 /**
  * Creates a new helper's instance
  * 
  * @param string $helper Name
  * 
  * @return Helper_Interface
  */
 private function _getHelper($helper)
 {
     $instance = null;
     foreach ($this->_prefixes as $prefix) {
         $className = $prefix . "\\" . $helper;
         if (Loader::loadClass($className)) {
             if (is_subclass_of($className, __NAMESPACE__ . "\\Helper_Interface")) {
                 $instance = new $className();
                 /* @var $instance Helper_Interface */
                 $instance->setSubject($this->_subject);
             }
             break;
         }
     }
     return $instance;
 }
コード例 #3
0
ファイル: Event.php プロジェクト: covex-nn/joos
 /**
  * Notify observers.
  * 
  * @return Event
  */
 public final function notify()
 {
     $observers = array_values($this->_observers);
     foreach ($observers as $observer) {
         switch (false) {
             case is_array($observer):
             case isset($observer[0]):
             case isset($observer[1]):
             case is_string($observer[0]):
                 break;
             default:
                 Loader::loadClass($observer[0]);
                 break;
         }
         if (!is_callable($observer)) {
             continue;
         }
         call_user_func($observer, $this);
     }
     return $this;
 }