最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP url的pathinfo模式加載不同控制器的簡單實現(xiàn)

 更新時間:2016年08月12日 09:40:00   投稿:jingxian  
下面小編就為大家?guī)硪黄狿HP url的pathinfo模式加載不同控制器的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

使用自動加載和解析url的參數(shù),實現(xiàn)調(diào)用到不同的控制器,實現(xiàn)了pathinfo模式和普通的url模式

文件結(jié)構(gòu):

|--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();

\Controller\Index\Index.php

<?php
namespace Controller\Index;

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

效果:

以上這篇PHP url的pathinfo模式加載不同控制器的簡單實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何用PHP來實現(xiàn)一個動態(tài)Web服務(wù)器

    如何用PHP來實現(xiàn)一個動態(tài)Web服務(wù)器

    這篇文章介紹了如何用PHP來實現(xiàn)一個動態(tài)Web服務(wù)器,文章思路清晰,并附有演示代碼地址,需要的朋友可以參考下
    2015-07-07
  • PHP結(jié)合Jquery和ajax實現(xiàn)瀑布流特效

    PHP結(jié)合Jquery和ajax實現(xiàn)瀑布流特效

    php+ajax+jquery實現(xiàn)無限瀑布流布局 寬度是一定的高度不定的瀑布流布局 也可以說是無縫拼圖 當(dāng)瀏覽器滾動到底部時候自動加載圖片,非常的實用,需要的小伙伴可以參考下。
    2016-01-01
  • ThinkPHP文件上傳實例教程

    ThinkPHP文件上傳實例教程

    這篇文章主要介紹了ThinkPHP文件上傳實現(xiàn)方法,是ThinkPHP程序開發(fā)中非常常見的一個技巧,需要的朋友可以參考下
    2014-08-08
  • PHP判斷指定時間段的2個方法

    PHP判斷指定時間段的2個方法

    有時我們需要在一天中的某個時間段進(jìn)行某項任務(wù),或者在一天中的不同小時里進(jìn)行不同的任務(wù),使用PHP如何實現(xiàn)呢,下面的兩個例子都可以解決這個問題
    2014-03-03
  • PHP開發(fā)框架kohana3 自定義路由設(shè)置示例

    PHP開發(fā)框架kohana3 自定義路由設(shè)置示例

    這篇文章主要介紹了PHP開發(fā)框架kohana3 自定義路由設(shè)置示例,kohana是一個純PHP5的開發(fā)框架,需要的朋友可以參考下
    2014-07-07
  • PHP通過反射動態(tài)加載第三方類和獲得類源碼的實例

    PHP通過反射動態(tài)加載第三方類和獲得類源碼的實例

    這篇文章主要介紹了PHP通過反射動態(tài)加載第三方類和獲得類源碼的方法,一般在解析XML文件時會用到,需要的朋友可以參考下
    2015-11-11
  • CodeIgniter生成靜態(tài)頁的方法

    CodeIgniter生成靜態(tài)頁的方法

    這篇文章主要介紹了CodeIgniter生成靜態(tài)頁的方法,涉及CodeIgniter框架使用文件操作類生成靜態(tài)文件的實現(xiàn)技巧,需要的朋友可以參考下
    2016-05-05
  • ThinkPHP使用getlist方法實現(xiàn)數(shù)據(jù)搜索功能示例

    ThinkPHP使用getlist方法實現(xiàn)數(shù)據(jù)搜索功能示例

    這篇文章主要介紹了ThinkPHP使用getlist方法實現(xiàn)數(shù)據(jù)搜索功能,結(jié)合實例形式較為詳細(xì)的分析了thinkPHP基于getlist實現(xiàn)根據(jù)給定條件進(jìn)行數(shù)據(jù)的讀取、顯示等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • thinkphp5實現(xiàn)微信掃碼支付

    thinkphp5實現(xiàn)微信掃碼支付

    這篇文章主要為大家詳細(xì)介紹了thinkphp5實現(xiàn)微信掃碼支付,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • TP5框架安全機(jī)制實例分析

    TP5框架安全機(jī)制實例分析

    這篇文章主要介紹了TP5框架安全機(jī)制,結(jié)合實例形式分析了thinkPHP5防止SQL注入以及表單合法性檢測的安全性操作技巧,需要的朋友可以參考下
    2020-04-04

最新評論

于田县| 囊谦县| 湛江市| 商都县| 博白县| 茌平县| 建昌县| 蕲春县| 措勤县| 永善县| 台安县| 唐河县| 无极县| 乡宁县| 蓬安县| 鱼台县| 应用必备| 新绛县| 庆安县| 清镇市| 巫山县| 内江市| 台山市| 北宁市| 呈贡县| 依安县| 正定县| 宁波市| 沧州市| 施甸县| 南漳县| 修水县| 陇川县| 通辽市| 桦甸市| 喜德县| 灵川县| 苗栗市| 延边| 上蔡县| 墨竹工卡县|