コード例 #1
0
ファイル: ModuleLoader.php プロジェクト: Why-Not-Sky/cubi-ng
 protected function invokeLoadHandler($event)
 {
     $modfile = MODULE_PATH . "/" . $this->name . "/mod.xml";
     $xml = simplexml_load_file($modfile);
     if (!isset($xml['LoadHandler']) && !empty($xml['LoadHandler'])) {
         return;
     }
     $modLoadHandler = $xml['LoadHandler'];
     $dotPos = strrpos($modLoadHandler, ".");
     $package = $dotPos > 0 ? substr($modLoadHandler, 0, $dotPos) : null;
     $class = $dotPos > 0 ? substr($modLoadHandler, $dotPos + 1) : $modLoadHandler;
     if (BizSystem::loadClass($class, $package)) {
         $loadHandler = new $class();
         switch ($event) {
             case "beforeLoadingModule":
             case "postLoadingModule":
             case "beforeUnloadModule":
             case "postUnloadModule":
                 $loadHandler->{$event}($this);
                 break;
         }
     }
 }