1.新建根目录
2.入口文件
3. 核心类 Framework.php
<?php
/*
*框架核心类
*运行框架
*自动加载类
*/
namespace Framework;
use Exception;
class Framework{
public $val;
//运行框架
static public function run(){
$route = new route();
$con = $route->con;
$act = $route->act;
if (isset($con) && isset($act)) {
$path = "\\Application\\controller\\".$con."Controller";
// include APP."/controller/".$con."Controller.php";
$obj = new $path();
$obj->$act();
}
}
//类的自动加载
static public function load($class){
$class = str_replace("\\", "/", $class);
$path = DS."/".$class.".php";
// echo $path;
// echo "</br>";
if (is_file($path)) {
include $path;
}else{
throw new Exception("404 找不到此页面", 1);
}
}
//渲染数据
public function display($name,$value){
$this->val[$name]=$value;
}
//渲染视图页面
public function render($path){
$file = APP."/view/".$path.".html";
if (is_file($file)) {
extract($this->val);
include $file;
}
}
}
4.路由类 route.php
<?php
namespace Framework;
class route{
public $con;
public $act;
public function __construct(){
if (isset($_SERVER['PATH_INFO'])) {
if ($_SERVER['PATH_INFO'] != "" && $_SERVER['PATH_INFO'] != "/") {
$PATH=trim($_SERVER['PATH_INFO'],"/");
$PATH_ARR=explode("/", $PATH);
$this->con=isset($PATH_ARR[0])?$PATH_ARR[0]:$_SERVER['config']['controller'];
$this->act=isset($PATH_ARR[1])?$PATH_ARR[1]:$_SERVER['config']['action'];
unset($PATH_ARR[0]);
unset($PATH_ARR[1]);
$num = count($PATH_ARR)+2;
// http://www.cs.com/mouth6/week2/ZhouKao/index.php/index/index/id/4/name/5
for ($i=2; $i <$num; $i++) {
// echo $i;
// echo '<br>';
if (isset($PATH_ARR[$i+1])) {
$_GET[$PATH_ARR[$i]]=$PATH_ARR[$i+1];
}
$i++;
}
}
}else{
$this->con=$_SERVER['config']['controller'];
$this->act=$_SERVER['config']['action'];
}
}
}
?>
5.公共文件下配置
6.新建控制器 测试通不通
7.model 基类
8.操作数据库 类
基本成功了,只是整体框架运行思路