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方法
浙公网安备 33010602011771号