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


PHP APP::__action方法代码示例

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


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

示例1: route

 static function route()
 {
     if (!empty(APP::$config['rewrite'])) {
         if (($pos = strpos($_SERVER['REQUEST_URI'], '?')) !== false) {
             parse_str(substr($_SERVER['REQUEST_URI'], $pos + 1), $_GET);
         }
         foreach (APP::$config['rewrite'] as $rule => $mapper) {
             if ('/' == $rule) {
                 $rule = '';
             }
             if (0 !== stripos($rule, 'http://')) {
                 $rule = 'http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER["SCRIPT_NAME"]), '/\\') . '/' . $rule;
             }
             $rule = '/' . str_ireplace(array('\\\\', 'http://', '/', '<', '>', '.'), array('', '', '\\/', '(?<', '>\\w+)', '\\.'), $rule) . '/i';
             if (preg_match($rule, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], $matchs)) {
                 $route = explode("/", $mapper);
                 if (isset($route[2])) {
                     list($_GET['m'], $_GET['c'], $_GET['a']) = $route;
                 } else {
                     list($_GET['c'], $_GET['a']) = $route;
                 }
                 foreach ($matchs as $matchkey => $matchval) {
                     if (!is_int($matchkey)) {
                         $_GET[$matchkey] = $matchval;
                     }
                 }
                 break;
             }
         }
         $parameter = str_replace($matchs[0], "", rtrim($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], APP::$config['url']['suffix']));
         $parames = explode('/', $parameter);
         if ($_GET['c'] == APP::$config['api']['file'] && isset($parames[1])) {
             $_GET['id'] = $parames[1];
         } else {
             for ($i = 1; $i < count($parames); $i = $i + 2) {
                 if (!empty($parames[$i])) {
                     $_GET[$parames[$i]] = $parames[$i + 1];
                 }
             }
         }
     }
     if ($_GET['c'] == APP::$config['api']['file']) {
         $class = $_GET['a'] . 'Rest';
         $action = strtolower($_SERVER['REQUEST_METHOD']) . 'Action';
         APP::$__api = $_GET['c'];
         APP::$__action = $_GET['a'];
     } else {
         APP::$__module = $_GET['m'];
         APP::$__controller = $_GET['c'];
         APP::$__action = $_GET['a'];
         $class = $_GET['c'] . 'Controller';
         $action = $_GET['a'] . 'Action';
     }
     $obj = new $class();
     $obj->{$action}();
 }
开发者ID:jiangbai333,项目名称:rest,代码行数:56,代码来源:system.php


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