>  기사  >  php教程  >  PHP MVC 从零学起(1)

PHP MVC 从零学起(1)

PHP中文网
PHP中文网원래의
2016-05-24 09:11:481188검색

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으로 문의하세요.