频道栏目
首页 > 程序开发 > Web开发 > php > 正文
PHP 自定义MVC框架实例讲解
2018-05-24 11:49:46         来源:qq_39889272的博客  
收藏   我要投稿

1.新建根目录

\

2.入口文件

\

3. 核心类 Framework.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 "

";

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

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;

// https://www.cs.com/mouth6/week2/ZhouKao/index.php/index/index/id/4/name/5

for ($i=2; $i <$num; $i++) {

// echo $i;

// echo '

';

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.操作数据库

\

基本成功了,只是整体框架运行思路

点击复制链接 与好友分享!回本站首页
上一篇:php的算术、比较、逻辑、递增、字符串和赋值实例讲解
下一篇:ApachePHP扩展模块的配置教程
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站