欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP MVC 从零学起(1)

程序员文章站 2022-05-02 16:17:26
...

PHP MVC 从零学起,带你编写自己的框架。

想拥有属于自己的框架吗?来吧,带你装B,带你飞。

项目默认访问:http://虚拟域名/index.php?mod=main&act=index

第1集,简单入门 MVC

目录结构:
-----------controllers
----------------------controller.php
----------------------main.php
-----------views
----------------------index.php
index.php

1. [文件] mvc_1_2014-12-8.7z

PHP MVC 从零学起(1)mvc_1_2014-12-8.7z

2. [代码]index.php

<?php
// 定义路径
define('MVC_PATH', dirname(__FILE__));
define('CONTROLLERS_PATH', MVC_PATH.'/controllers');
define('VIEWS_PATH', MVC_PATH . '/views');


$mod = $_REQUEST['mod'] = !empty($_REQUEST['mod']) ? $_REQUEST['mod'] : 'main';
$act = $_REQUEST['act'] = !empty($_REQUEST['act']) ? $_REQUEST['act'] : 'index';
require CONTROLLERS_PATH . '/controller.php';
require CONTROLLERS_PATH . '/' . $mod . '.php';
$c = new $mod();
$c->$act();
?>

3. [代码]controllers/controller.php

<?php
class controller {
    
    public function display($template, $data){
        extract($data);
        ob_start();
        include VIEWS_PATH . '/' . $template;
        $content = ob_get_contents();
        ob_end_clean();
        exit($content);
    }
}
?>

4. [代码]controllers/main.php

<?php
class main extends controller {
    
    public function index(){
        $data = array('a' => 'hello word!');
        $this->display('index.php', $data);
    }
}
?>

5. [代码]views/index.php

<?php echo $a;?>