本文整理匯總了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;
}
}
示例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;
}
}
}
示例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;
//.........這裏部分代碼省略.........