当前位置: 首页 > 工具软件 > Simple PHP > 使用案例 >

最简单的 php 框架

鲁涵映
2023-12-01
一个php文件实现单点入口自动加载类模型视图控制器
去掉注释只有20行,
/**
*惊世php框架控制器页,
*20120219,版本2.0,
*实现功能:单点入口,自动加载类,控制器,
*类库在class文件夹下,命名方式xxx.class.php,配合mysql数据库连接类、缓存静态文件生成类等其他类库,就是完整的框架
*模型在module文件夹下,命名方式xxx.mod.php,每个mod文件里只有一个class,
*视图在template文件夹下,命名方式xxx.html,和mod同名,若有,自动加载置于mod代码后,
*资源文件存储于src文件夹下,css/js/images.
*/


<?php
header("Content-type: text/html; charset=utf-8");
//url?赋值给数组$c。
$c = array();
$c['class'] = (!empty($_REQUEST['c']) ? (string)($_REQUEST['c']) : 'index'); //module文件和类名值,为空默认为index
$c['method'] = (!empty($_REQUEST['m']) ? (string)($_REQUEST['m']) : ''); //类方法值,为空默认为index
$c['page'] = (!empty($_REQUEST['p']) ? (int)($_REQUEST['p']) : ''); //分页参数


$fileM = 'module/' . $c['class'] . '.mod.php'; //模块文件路径
$fileT = 'template/' . $c['class'] . '.html'; //模板文件路径


require_once('class/mysql.class.php'); //加载必须的数据库连接类


//如果模块文件、类方法存在则加载和调用,反之不操作。
if(is_file("$fileM"))
{
require("$fileM");
if(method_exists(${$c['class']}, $c['method']))
{
${$c['class']}->$c['method']();
}
}


//如果模板文件存在则加载,反之不操作
if(is_file("$fileT"))
{
require("$fileT");
}
?>
 类似资料: