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


PHP CMS::mappers方法代碼示例

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


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

示例1: before_run

 protected static function before_run($env)
 {
     /**
      * @event cms.run
      * Вызывается после инициализации всех компонентов - в начале работы CMS::run()
      */
     Events::call('cms.run');
     $env->urls = CMS::urls();
     foreach (CMS::mappers() as $name => $mapper) {
         $env->urls->map(strtolower($name), $mapper);
     }
 }
開發者ID:techart,項目名稱:tao,代碼行數:12,代碼來源:CMS.php

示例2: process_app

 /**
  * @param WebKit_Environment   $env
  * @param WebKit_HTTP_Response $response
  *
  * @return Iterator
  */
 public function process_app(WS_Environment $env, $response)
 {
     $uri = $env->request->urn;
     $original_uri = $uri;
     CMS::$original_uri = $uri;
     CMS::$site = CMS::$defsite;
     if (isset(CMS::$sites[CMS::$defsite]['page_main'])) {
         CMS::$page_main = CMS::$sites[CMS::$defsite]['page_main'];
     }
     $_defdata = false;
     if (isset(CMS::$sites[CMS::$defsite])) {
         $_defdata = CMS::$sites[CMS::$defsite];
     }
     if (isset(CMS::$sites)) {
         foreach (CMS::$sites as $site => $data) {
             $_host = isset($data['host']) ? trim($data['host']) : '';
             $_prefix = isset($data['prefix']) ? trim($data['prefix']) : '';
             if ($_host != '' || $_prefix != '') {
                 $_bhost = false;
                 $_bprefix = false;
                 $_uri = $uri;
                 if ($_prefix != '') {
                     if ($m = Core_Regexps::match_with_results('{^/' . $_prefix . '/(.*)$}', $uri)) {
                         $_uri = '/' . $m[1];
                         $_bprefix = true;
                     } else {
                         continue;
                     }
                 }
                 if ($_host != '') {
                     if ($env->request->host == $_host) {
                         $_bhost = true;
                     } else {
                         if ($_host[0] == '{') {
                             if (Core_Regexps::match($_host, $env->request->host)) {
                                 $_bhost = true;
                             } else {
                                 continue;
                             }
                         } else {
                             continue;
                         }
                     }
                 }
                 if ($_bprefix || $_bhost) {
                     CMS::$site = $site;
                     if ($_bprefix) {
                         CMS::$site_prefix = '/' . $_prefix;
                     }
                     $uri = $_uri;
                     $env->request->uri($uri);
                     $_defdata = $data;
                     break;
                 }
             }
         }
     }
     if ($_defdata) {
         if (isset($_defdata['page_main'])) {
             CMS::$page_main = $_defdata['page_main'];
         }
         if (isset($_defdata['page_404'])) {
             CMS::$page_404 = $_defdata['page_404'];
         }
         if (isset($_defdata['layout'])) {
             CMS::$force_layout = $_defdata['layout'];
         }
     }
     if (CMS::$db) {
         $head = CMS::vars()->get('head');
         if (isset($head['meta.title'])) {
             $env->meta->title($head['meta.title']);
         }
         if (isset($head['meta.description'])) {
             $env->meta->description($head['meta.description']);
         }
         if (isset($head['meta.keywords'])) {
             $env->meta->keywords($head['meta.keywords']);
         }
     }
     $curi = $uri;
     if ($m = Core_Regexps::match_with_results('/^([^\\?]+)\\?/', $curi)) {
         $curi = $m[1];
     }
     $use_layout = false;
     // Просмотр всех мапперов зарегистрированных в системе
     foreach (CMS::mappers() as $name => $mapper) {
         // Если срабатывает маппер
         if ($route = $mapper->route($env->request)) {
             CMS::$current_mapper = $mapper;
             CMS::$current_component_name = $name;
             CMS::$current_route = $route;
             try {
                 Core::load('Component.' . $name);
//.........這裏部分代碼省略.........
開發者ID:techart,項目名稱:tao,代碼行數:101,代碼來源:Handlers.php


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