MVC模式

8 篇文章 0 订阅

mvc模式:百度百科  已经说得很详细了。对于初学者可能看完等于没看,建议结合代码来理解。

mvc模式:强制性的使应用程序的输入,处理,输出分离。

(Model View Controller 模型-视图-控制器)

Model(模型) 是用于处理应用程序 数据逻辑 的部分,负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
Controller(控制器)是应用程序中处理用户交互的部分。处理用户输入,并向模型存取数据,最后输出视图到浏览器。

原理图


代码案例


  
  data[$v]=$var;
        }
        public function display($file){
            /**
             * 读取模板文件
             */
             $str = file_get_contents($file);
            /**
             * 模板数据替换   
             */
            $arr = each($this->data);
            list($k,$v) = $arr;
            $str=str_replace($k,$v,$str);
            /**
             * 输出到浏览器
             */
            echo $str;
        }
    }

    class Controller extends View{

        /**登陆验证功能**/
        public function login(){

            /**
             * 第一步 处理用户输入
             * 例如 数据的安全过滤      
             */
            
            /**
             * 第二步 调用Modle 读写数据
             *     我们这里只需要知道用户密码是否正确,并不需要写回数据到浏览器
             * 例如  
             *     $model = new Model();
             *     if( $model->isCheck(user,password) ){}
             */
            
            /**
             * 第三步 视图数据返回到浏览器
             * 例如
             *     $this->assign('var',$var);
             *     $this->display('模板文件');
             */
                
        }
    }
    /**
     * 这里模仿单一入口 
     * 单一入口:浏览器每次都访问index.php文件 
     *             由url参数决定调用哪个controller下哪个方法
     * 例如 
     * url: http://www.shop.com/index.php?Controller='Controller'&action='login'
     *             对应的控制器是Controller 下方法为login
     */
    $con = $_GET['Controller'];
    $act = $_GET['action'];
    /**调用相应的控制器下的响应方法**/
    $c =new $con();
    $c->$act();

?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值