ホームページ  >  記事  >  php教程  >  PHP MVC 从零学起(1)

PHP MVC 从零学起(1)

PHP中文网
PHP中文网オリジナル
2016-05-24 09:11:481157ブラウズ

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(&#39;MVC_PATH&#39;, dirname(__FILE__));
define(&#39;CONTROLLERS_PATH&#39;, MVC_PATH.&#39;/controllers&#39;);
define(&#39;VIEWS_PATH&#39;, MVC_PATH . &#39;/views&#39;);


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

3. [代码]controllers/controller.php   

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

4. [代码]controllers/main.php    

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

5. [代码]views/index.php    

<?php echo $a;?>

                   

                   

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。