示例#1
0
 /**
  * load module file
  * 
  * @param string $directory
  * @param string $modelName
  * @param string $moduleName
  * @return object
  */
 private static function _loadModuleFile($directory, $fileName, $moduleName = null)
 {
     if (null === self::$_moduleName) {
         self::$_moduleName = Yaf_Dispatcher::getInstance()->getRequest()->getModuleName();
     }
     if (null !== $moduleName) {
         self::$_moduleName = $moduleName;
     }
     $file = APP_PATH . '/application/modules/' . self::$_moduleName . '/' . $directory . '/' . $fileName . '.php';
     $regObject = Yaf_Registry::get($file);
     if (false !== $regObject && null !== $regObject) {
         return $regObject;
     }
     $loadResult = Yaf_Loader::import($file);
     $fileName .= $directory == 'models' ? 'Model' : 'Service';
     if ($loadResult) {
         $fileObject = new $fileName();
         Yaf_Registry::set($file, $fileObject);
         return $fileObject;
     } else {
         throw new Exception($fileName . ' not found.');
     }
 }