3.开发者模式 第一个单入口开发模式 

原理:www.cms.com/index.php?c="模块名"&a="方法名" 

默认可以用$_GET获取 

实例:single文件夹下面有一个index.php文件和auto.php文件.一个文件夹home.home文件夹下面有两个文件,一个是Index.php,一个是User.php

index.php代码如下

<?php

  include_once 'auto.php';

  $c=$_GET['c']?$_GET['c']:'Index';//判断c是否存在,没有默认Index

  $d=$_GET['a']?$_GET['a']:'index';//判断a是否存在,没有默认index

  $c="\\home\\".$c;//拼凑$c的路径名,\是转义符

  $obj=new $c;//实例化$c类,因为不存在这个类,这里会自动调用auto.php里面的注册自动加载函数来拼凑路径名

  $obj->$d();//调用方法

?>

auto.php代码如下

<?php

namespace single;//定义命名空间,这里不需要用到空间名,可随便定义

  class auto{

    public  function __construct(){

      spl_autoload_register('single\auto::auto');//第一个参数是空间名,第二个是类名,第三个是静态方法名

  }

    static function auto($classname){

      $path=$classname.".php";//拼凑文件路径名

      if(is_file($path)){

        include_once($path);//引入文件

      }

  }

}

Index.php文件代码

<?php

namespace home;

 class Index{

  public function index(){

    echo "网站首页";

}

 public function  myLike(){

    echo "我的收藏";

}

public function  friendLink(){

    echo "友情链接";

}

}

?>

User.php文件代码

<?php

namespace home;

  class User{

    public function index(){

      echo "个人中心首页";

  }

    public function login(){

      echo "登陆页面";

  }

    public function re(){

      echo "注册页面";

  }

}

?>

这时候打开index页面,他会自动跳到Index文件的index方法

posted on 2017-10-13 16:50  顾君临  阅读(69)  评论(0)    收藏  举报