PHP----MVC-v1.0

后台结构

/
├──app
├──├──Admin
├──├──├──Controller
├──├──├──Model
├──├──├──view
├──├──common
├──├──Home

├──frameword
     ──ModelFactory.class.php

├──public
├──├──admin
├──├──├──css
├──├──├──js      //libs也会放在js
├──├──├──img
├──├──home 与admin 一样
├──├──upload

index.php

URL 访问及路由

HOME 前台URL 
img   <?php echo IMG_URL ?>header.jpg
js    <?php echo JS_URL ?>jquery.min.js
css   lt;?php echo CSS_URL; ?>style.css"

<a class="" href="<?php echo '?c=member'; ?>" target="iframe">会员列表</a>
<a class="" href="<?php echo '?c=member&a=del'; ?>" target="iframe">删除的会员</a>


ADMIN 后台URL : 增加了一个admin
img   <?php echo ADMIN_IMG_URL ?>header.jpg
js    <?php echo ADMIN_JS_URL ?>jquery.min.js
css   <?php echo ADMIN_CSS_URL; ?>style.css"

<a class="" href="<?php echo '?p=admin&c=member'; ?>" target="iframe">会员列表</a>
<a class="" href="<?php echo '?p=admin&c=member&a=del'; ?>" target="iframe">删除的会员</a>

入口文件及控制器内容 index.php

// 设置默认字符编码
header("content-type:text/html; charset=utf-8");

// 检测PHP环境, php版本小于5.3.0 结束程序
if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');

// 选择平台,默认为前台,当传参为admin 则选择平台为后台
$p = !empty($_GET['p']) ? $_GET['p'] : 'home';

define("PLAT", $p);     //平台
define("DS", DIRECTORY_SEPARATOR);  //目录分隔符,自动匹配。win:\, unix:/
define("ROOT", __DIR__ . DS);       //根目录

// 程序包路径
define("APP", ROOT . 'app' . DS);                      //程序包(前后台)的完整路径
define("FRAMEWORK", ROOT . 'framework' . DS);          //无关业务的模块完整路径
define("PLAT_PATH", APP . PLAT . DS);                  //后台完整路径
define("CTRL_PATH", PLAT_PATH . 'Controller' . DS);    //当前控制器所在完整路径
define("MODEL_PATH", PLAT_PATH . 'Model' . DS);        //当前模型所在完整路径
define("VIEW_PATH", PLAT_PATH . 'View' . DS);          //当前视图所在完整路径

// 静态资源js, css, img 路径
define("SITE_URL", "http://www.abc.com/");             //网址域名,注意修改
define("JS_URL", SITE_URL . 'public/home/js/');            //前台静态资源路径,默认不带平台名
define("CSS_URL", SITE_URL. 'public/home/css/');
define("IMG_URL", SITE_URL. 'public/home/img/');
define("ADMIN_JS_URL", SITE_URL . 'public/admin/js/');     //后台静态资源路径
define("ADMIN_CSS_URL", SITE_URL. 'public/admin/css/');
define("ADMIN_IMG_URL", SITE_URL. 'public/admin/img/');
define("IMG_UPLOAD", SITE_URL . 'upload/');                 //文件上传路径


/**
 * 类会在你实例化对象之前自动按需自动加载类文件, 但不能加载视图
 * @param $class 传入类名
 */
function  __autoload($class){
    //预加载的类
    //$base_class = array("Db", "Model", "ModelFactory", "Controller");
    $base_class = array("ModelFactory", "Controller");

    if(in_array( $class, $base_class)){
        require FRAMEWORK . $class . '.class.php';
    }else if(substr($class, -5) == "Model"){
        require MODEL_PATH . $class . ".class.php";
    }else if(substr($class, -10) == "Controller"){
        require CTRL_PATH . $class . ".class.php";
    }
}

// 开始工作:初始化Controller 执行其Action相关方法
$c = !empty($_GET['c']) ? $_GET['c'] : "Index";     //controller, 默认Controller
$controller_name = $c."Controller";                 //构造Controller
$ctrl = new $controller_name();                     //初始化Controller的类名

$a = !empty($_GET['a']) ? $_GET['a'] : 'Index';     //action, 默认 Actionr
$active = $a."Action";
$ctrl->$active();           //开始页面工作

Controller

//BaseController.class.php
class BaseController
{
    function __construct(){
        //设置默认字符编码
        header("content-type:text/html; charset=utf-8");
    }

    /**
     * @param $msg 显示的提示信息
     * @param $url 跳转的url 地址
     * @param int $time 页面的跳转时间,默认为3秒
     */
    function gotoUrl($msg, $url, $time=3){
        echo $msg;
        echo "<a href='{$url}'>返回</a>";
        echo "<br>页面将在{$time}秒之后自动跳转";
        header("refresh: $time; url = $url");
    }
}


//ChartController.class.php
class ChartController extends BaseController
{
    /**
     * 区域图
     */
    public function IndexAction()
    {
        include VIEW_PATH . 'chart/area.html';
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值