成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP url的pathinfo模式加載不同控制器的簡單實現
全站頭部文字 我要出現在這里
PHP url的pathinfo模式加載不同控制器的簡單實現 702 2024-01-28   

使用自動加載和解析url的參數,實現調用到不同的控制器,實現了pathinfo模式和普通的url模式

文件結構:

|--Controller
  |--Index
    |--Index.php

|--Application.php

Application.php

<?php
class Application{
  public static function main(){
    header("content-type:text/html;charset=utf-8");
    self::register();
    self::router();
  }
  public static function register(){
    spl_autoload_register("self::loadClass");
  }
  public static function loadClass($class){
    $class=str_replace('\', '/', $class);
    $class="./".$class.".php";
    require_once $class;    
  }
  public static function router(){
    if(isset($_SERVER['PATH_INFO'])){
      $pathinfo=array_filter(explode("/", $_SERVER['PATH_INFO']));
      for($i=1;$i<=count($pathinfo);$i++){
        $key=isset($pathinfo[$i]) ? $pathinfo[$i] : '';
        $value=isset($pathinfo[$i+1]) ? $pathinfo[$i+1] :"";
        switch ($i) {
          case 1:
            $_GET['m']=ucfirst($key);
            break;
          case 2:
            $_GET['c']=ucfirst($key);
            break;
          case 3:
            $_GET['a']=$key;
            break;
          default:
            if($i>3){
              if($i%2==0){
                $_GET[$key]=$value;
              }
            }
            break;
        }
      }
    }
    $_GET['m']=!empty($_GET['m']) ? ucfirst($_GET['m']) : 'Index';
    $_GET['c']=!empty($_GET['c']) ? ucfirst($_GET['c']) : 'Index';
    $_GET['a']=!empty($_GET['a']) ? $_GET['a'] : 'index';
    $class="\Controller\{$_GET['m']}\{$_GET['c']}";
    $controller=new $class;
    $controller->$_GET['a']();
  }
}

Application::main();

ControllerIndexIndex.php

<?php
namespace ControllerIndex;

use ServiceUser;
class Index{
  public function __construct(){
    echo "構造方法<br/>";
  }
  public function index(){
    new User();
    print_r($_GET);
  }
  public function login(){
    echo "login()";
  }
}

效果:

查看圖片

以上這篇PHP url的pathinfo模式加載不同控制器的簡單實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 难兄难弟 电视剧| 贾宏| 赤牙×柒cp| 夜的命名术动漫| 踩杀视频| 楼下的房客 电影| 成龙电影免费看40部| 烽火流金电视剧全集免费观看| 毒鲨| 寄宿生韩剧全集观看| 恋爱中的女人 电影| 南男北女| 王李| 出彩中国人撒贝宁精忠报国15分钟| 行政职业能力测试2024题库及答案 | 闵度允李采潭| 心跳源计划演员表| 在线观看www视频| 抖音主页| 林诗雅电影| a friend in need中文翻译| o'sullivan| 电影不扣钮的女孩| 郑洋| 被囚禁的女孩大结局| 红灯区无删减| 迷宫的十字路口讲了什么| 青春之歌电影演员表名单| dj视频mv| 爱欲1990未删减版播放| 珠江电视台直播 珠江频道| heidi klum| 九九九九九九九九九九热| 李赫洙| 瑜伽焰口拼音版全文| marcia| 美国禁忌1984| 红日歌词完整版| 2025年最旺财聚财壁纸| 悠悠寸草心第一部| 美国伦理三颗熟樱桃|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103