当前位置: 首页>>代码示例>>PHP>>正文


PHP CMS::current_controller方法代码示例

本文整理汇总了PHP中CMS::current_controller方法的典型用法代码示例。如果您正苦于以下问题:PHP CMS::current_controller方法的具体用法?PHP CMS::current_controller怎么用?PHP CMS::current_controller使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CMS的用法示例。


在下文中一共展示了CMS::current_controller方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 public function __construct($env, $application = null)
 {
     if (!CMS::$current_component_name) {
         $this->application = $application;
         CMS::$current_component_name = $this->get_component_name();
         CMS::$current_mapper = isset(CMS::$mappers[CMS::$current_component_name]) ? CMS::$mappers[CMS::$current_component_name] : $application;
         //Может не быть
         CMS::$current_controller = $this;
         return parent::__construct($env, $env->response);
     }
     parent::__construct($env, $application);
 }
开发者ID:techart,项目名称:tao,代码行数:12,代码来源:Controller.php

示例2: process_app


//.........这里部分代码省略.........
     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);
             } catch (Core_ModuleNotFoundException $e) {
                 // hush
             }
             if ($route instanceof Net_HTTP_Response) {
                 return $route;
             }
             // Имя подключаемого модуля
             $controller_module_name = 'Component.' . $name . '.Controller';
             // Имя контроллера по умолчанию
             $controller_name = Core_Strings::replace($controller_module_name, '.', '_');
             // Имя действитя по умолчанию
             $action_name = 'index';
             $do_load_controllers = true;
             if ($route === true) {
                 $route = array('controller' => $controller_name, 'action' => 'index');
             }
             if (is_array($route)) {
                 $_route = WebKit_Controller::Route();
                 $_route->merge($route);
                 $route = $_route;
             }
             if (!isset($route['action'])) {
                 $route['action'] = 'index';
             }
             // Если маппер вернул нестандартное имя контроллера
             if (isset($route['controller'])) {
                 $controller_name = $route['controller'];
             }
             // Если маппер вернул нестандартное имя действия
             if (isset($route['action'])) {
                 $action_name = $route['action'];
             }
             // Если маппер не велел загружать модуль с конроллером (загрузит сам)
             if (isset($route['no_load'])) {
                 $do_load_controllers = false;
             }
             // Загружаем модуль с контроллером
             if ($do_load_controllers) {
                 if (strpos($controller_name, '.') === false && strpos($controller_name, '_') === false) {
                     $controller_name = 'Component.' . $name . '.' . $controller_name;
                 }
                 if (strpos($controller_name, '.') !== false) {
                     $controller_module_name = $controller_name;
                 }
                 Core::autoload($controller_module_name);
             }
             // Получаем экземпляр контроллера
             CMS::$current_controller_name = $controller_name;
             //$controller = Core_Types::reflection_for($controller_name)->newInstance($env, $response);
             $controller = Core::make($controller_name, $env, $response);
             if ($use_layout) {
                 if (!property_exists($controller, 'layout')) {
                     $controller->use_layout($use_layout);
                 } else {
                     if (!$controller->layout) {
                         $controller->use_layout($use_layout);
                     }
                 }
             }
             if (!CMS::$print_version && is_string(CMS::$force_layout)) {
                 $controller->use_layout(CMS::$force_layout);
             }
             CMS::$current_controller = $controller;
             CMS::$current_route = $route;
             // Запускаем контроллер с переданными аргументами
             $rc = $controller->dispatch($route);
             return $rc;
         }
     }
     if (md5($uri) == 'b0b94791138ef54aeb161e403329f827') {
         die('cms');
     }
     return Net_HTTP::not_found();
 }
开发者ID:techart,项目名称:tao,代码行数:101,代码来源:Handlers.php

示例3: clear_cms_data

 protected function clear_cms_data()
 {
     CMS::$current_mapper = null;
     CMS::$current_component_name = null;
     CMS::$current_controller = null;
 }
开发者ID:techart,项目名称:tao,代码行数:6,代码来源:Application.php


注:本文中的CMS::current_controller方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。