當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Configure::app方法代碼示例

本文整理匯總了PHP中Configure::app方法的典型用法代碼示例。如果您正苦於以下問題:PHP Configure::app方法的具體用法?PHP Configure::app怎麽用?PHP Configure::app使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Configure的用法示例。


在下文中一共展示了Configure::app方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getDefaultApp

 public static final function getDefaultApp()
 {
     if (strpos($_SERVER['HTTP_HOST'], 'admin') !== FALSE) {
         self::$app = DAGGER_APP_ADMIN;
     } else {
         self::$app = DAGGER_APP_SITE;
     }
 }
開發者ID:guojianing,項目名稱:dagger2,代碼行數:8,代碼來源:Configure.php

示例2: getDefaultApp

 public static final function getDefaultApp()
 {
     if (strpos($_SERVER['HTTP_HOST'], 'admin') !== FALSE) {
         self::$app = DAGGER_APP_ADMIN;
     } else {
         if (strpos($_SERVER['REQUEST_URI'], '/home/') === 0) {
             self::$app = DAGGER_APP_HOME;
         } else {
             self::$app = DAGGER_APP_HOPE;
         }
     }
 }
開發者ID:az0ne,項目名稱:diaoyu,代碼行數:12,代碼來源:Configure.php

示例3: route

 public static function route()
 {
     if (isset($_GET[DAGGER_APP]) && preg_match('/^\\w*$/i', $_GET[DAGGER_APP])) {
         Configure::$app = $_GET[DAGGER_APP];
     } else {
         Configure::getDefaultApp();
     }
     if (DAGGER_ROUTER == 1 && !empty(RouterConfig::$config[Configure::$app])) {
         $uri = str_replace('/index.php', '', $_SERVER['REQUEST_URI']);
         //對於中文,已經變為urlencode,參數化的時候需要先decode出來
         $uri = urldecode($uri);
         defined('DAGGER_DEBUG') && BaseModelCommon::debug($uri, 'router_request_uri');
         //從uri中過濾掉key value查詢串
         $uri = explode('?', $uri);
         $uri = array_shift($uri);
         $uriArr = explode('/', trim($uri, '/'));
         $uriArrWithoutApp = array();
         //判斷是否選擇了app
         foreach ($uriArr as $uripart) {
             if (strpos($uripart, DAGGER_APP_PREFIX) === 0) {
                 Configure::$app = substr($uripart, strlen(DAGGER_APP_PREFIX));
                 self::$get[DAGGER_APP] = Configure::$app;
             } else {
                 if (strlen($uripart) > 0) {
                     $uriArrWithoutApp[] = $uripart;
                 }
             }
         }
         $uri = '/' . implode('/', $uriArrWithoutApp);
         //從URI中去除baseurl中的多級目錄
         $baseUrlArr = explode('/', RouterConfig::$baseUrl[Configure::$app], 2);
         if (!empty($baseUrlArr[1])) {
             $baseUrl = '/' . trim($baseUrlArr[1], '/');
             if (strpos($uri, $baseUrl) === 0) {
                 defined('DAGGER_DEBUG') && BaseModelCommon::debug('url規則匹配上BaseUrl:' . $baseUrl, 'router_base_url');
                 //匹配RouterConfig中設置的對應BaseUrl
                 $uri = substr($uri, strlen($baseUrl));
                 $uri === false && ($uri = "");
             }
         }
         //將uri變為參數數組
         $paramsArr = explode('/', trim($uri, '/'));
         self::$get = array_merge(self::$get, $_GET);
         $configArr = RouterConfig::$config[Configure::$app];
         if (isset($configArr[$paramsArr[0]])) {
             /**
              * 從URI的第一個參數開始,搜索RouterConfig中的配置項。
              * 不能匹配的URI參數嘗試匹配下一個RouterConfig配置項
              */
             $_GET[DAGGER_CONTROLLER] = $paramsArr[0];
             self::$get[DAGGER_CONTROLLER] = $_GET[DAGGER_CONTROLLER];
             array_shift($paramsArr);
             $configArr = $configArr[$_GET[DAGGER_CONTROLLER]];
             if (!isset($_GET[DAGGER_ACTION])) {
                 if (isset($paramsArr[0]) && isset($configArr[$paramsArr[0]])) {
                     $_GET[DAGGER_ACTION] = $paramsArr[0];
                     self::$get[DAGGER_ACTION] = $_GET[DAGGER_ACTION];
                     array_shift($paramsArr);
                 } elseif (isset(RouterConfig::$defaultRouter) && isset(RouterConfig::$defaultRouter[Configure::$app]['default_action'][$_GET[DAGGER_CONTROLLER]])) {
                     $_GET[DAGGER_ACTION] = RouterConfig::$defaultRouter[Configure::$app]['default_action'][$_GET[DAGGER_CONTROLLER]];
                 } else {
                     throw new BaseModelException("APP:" . Configure::$app . ",controller:" . $_GET[DAGGER_CONTROLLER] . "沒有設置默認action", 90206, 'router_trace');
                 }
             }
             $configArr = explode('/', $configArr[$_GET[DAGGER_ACTION]]);
         } else {
             //檢測是否有controller參數,沒有使用默認設置
             if (!isset($_GET[DAGGER_CONTROLLER])) {
                 if (isset(RouterConfig::$defaultRouter) && isset(RouterConfig::$defaultRouter[Configure::$app]['default_controller'])) {
                     $_GET[DAGGER_CONTROLLER] = RouterConfig::$defaultRouter[Configure::$app]['default_controller'];
                 } else {
                     throw new BaseModelException("APP:" . Configure::$app . "沒有設置默認Controller", 90205, 'router_trace');
                 }
                 if (isset($_GET[DAGGER_ACTION])) {
                     throw new BaseModelException("指定action參數時必須指定controller參數", 90207, 'router_trace');
                 }
             }
             if (!isset($_GET[DAGGER_ACTION])) {
                 //使用默認action設置
                 if (isset(RouterConfig::$defaultRouter) && isset(RouterConfig::$defaultRouter[Configure::$app]['default_action'][$_GET[DAGGER_CONTROLLER]])) {
                     $_GET[DAGGER_ACTION] = RouterConfig::$defaultRouter[Configure::$app]['default_action'][$_GET[DAGGER_CONTROLLER]];
                 } else {
                     throw new BaseModelException("APP:" . Configure::$app . ",controller:" . $_GET[DAGGER_CONTROLLER] . "沒有設置默認action", 90206, 'router_trace');
                 }
             }
         }
         while (!empty($paramsArr[0])) {
             if (empty($configArr)) {
                 self::init(Configure::$app);
                 defined('DAGGER_DEBUG') && BaseModelCommon::debug(RouterConfig::$config, "router_RouterConfig");
                 throw new BaseModelException("[app]:" . Configure::$app . " [controller]:{$_GET[DAGGER_CONTROLLER]} [action]:{$_GET[DAGGER_ACTION]} ,不識別“/" . implode("/", $paramsArr) . "”,請配置路由規則", 90200, 'router_trace');
             }
             if (self::match($configArr[0], $paramsArr[0])) {
                 array_shift($paramsArr);
             }
             array_shift($configArr);
         }
         defined('DAGGER_DEBUG') && BaseModelCommon::debug($_GET, 'router_$_GET');
     }
     $_GET[DAGGER_APP] = Configure::$app;
//.........這裏部分代碼省略.........
開發者ID:guojianing,項目名稱:dagger,代碼行數:101,代碼來源:BaseModelRouter.php


注:本文中的Configure::app方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。