コード例 #1
0
ファイル: unittesting.init.php プロジェクト: pwstrick/grape
 /**
  *	获取运行的service
  *  @return object
  */
 private function get_service_obj()
 {
     $InitPHP_conf = InitPHP::getConfig();
     $test_file_name = $this->classname . $InitPHP_conf['service']['service_postfix'];
     if (InitPHP::importNoApp("{$test_file_name}" . ".php", array($InitPHP_conf['service']['path']))) {
         return InitPHP::loadclass($test_file_name);
     }
     return false;
 }
コード例 #2
0
ファイル: initphp.php プロジェクト: pwstrick/grape
 /**
  * 获取Dao-实例并且单例模式获取Dao
  * 1.单例模式获取
  * 2.可以选定Dao路径path
  * 3. dao需要在配置文件中配置参数,$path对应dao目录中的子目录
  * 全局使用方法:InitPHP::getDao($daoname, $path = '')
  * @param string $daoname 服务名称
  * @param string $path 模块名称
  * @return object
  */
 public static function getDao($daoname, $path = '')
 {
     $InitPHP_conf = InitPHP::getConfig();
     //过滤/符号,并组织类名
     $path = trim($path, '/');
     $other_pres = array();
     if (!empty($path)) {
         //分割路径
         $other_pres = explode('/', $path);
         $other_pres = array_reverse($other_pres);
         foreach ($other_pres as &$value) {
             $value = ucfirst($value);
         }
     }
     $path = ($path == '' ? '' : $path) . '/';
     $file_name = $daoname . implode('', $other_pres) . $InitPHP_conf['dao']['dao_postfix'];
     //文件名字 用于初始化
     $class = $daoname . $InitPHP_conf['dao']['dao_postfix'];
     //类名
     $dao_path = rtrim($InitPHP_conf['dao']['path'], '/') . '/';
     $pre = $dao_path . $path;
     $file = $pre . $class . '.php';
     //引入通用父级
     if (strpos($path, 'mysql') === 0) {
         $dao_path = $dao_path . 'mysql/';
     } elseif (strpos($path, 'mongo') === 0) {
         $dao_path = $dao_path . 'mongo/';
     } elseif (strpos($path, 'search') === 0) {
         //全文检索
         $dao_path = $dao_path . 'search/';
     }
     if (file_exists($dao_path . 'abstract.php')) {
         require_once $dao_path . 'abstract.php';
     }
     if (!InitPHP::importNoApp($file)) {
         return false;
     }
     $obj = InitPHP::loadclass($file_name);
     return $obj;
 }