MVC工作原理与单一入口

MVC

这个我们已经相当熟悉了吧,这里做个总结吧。

工作原理:Model、View、Controller

Model:数据模型层,通常对数据进行加工和数据的处理。数据相关的操作我们都在Model层完成。

View:视图层,跟我们用户进行交互的一些界面上的东西

Controller:业务处理层,是用来处理我们的业务逻辑的

常见的MVC框架:ThinkPHP、Yii2、CI、Yaf、Phalcon等

我们在进行请求,比如说请求index.php会跟上问号?r=site/index代表我们要请求site模块下面的index方法,或者r=user/reg就是用户模块下的注册reg方法。这就是访问我们控制器。

控制器再通过方法去调用我们的V层,把V层给我们展示出来。提交数据提交给user/doreg

,-调用M层,把数据扔给M层,让M层存到DB中。

 

单一入口工作原理:

         这个大家也不陌生,工作原理:用一个程序文件处理所有的HTTP请求,根据请求时的参数的不同区分不同模块和操作的请求。

         比如我们请求index.php?r=user/reg,在index.php接收到get到的r的参数,拿到user/reg,然后new了user调用reg()

         我们将来访问框架内容的时候都是通过单一入口,你比如说访问用户模块就写用户,访问分类模块就是cate/,你要访问商业模块我们就访问product/模块,后面跟我们的不同方法,但是访问的都是index.php,访问的都是同一个入口文件。

         其优势在于:所有请求都经过index.php可以进行统一的安全性检查。否则多个模块都要做安全性检查很繁琐。一夫当关万夫莫开!集中地处理我们程序。

         劣势:URL地址很不美观,后面跟了一大堆参数,但是我们可以通过URL重写进行美化呀!同时它的处理效率会稍微低一点(一般看不出来),但是相比开发效率这块处理效率就可以进行忽略。

         有些框架在进行操作也可以进行多入口,比如说前台一个入口,后台一个入口。

 

         V层:

         常见模板引擎:PHP是一种HTML内嵌式的在服务端执行的脚本语言,但是PHP有很多可以使PHP代码分开的模板引擎,例如:最经典的Smarty我也用了好多次了^_^,Twig,Haml,Liquid等。

         工作原理:模板引擎就是庞大的完善的正则表达式替换库

         比如说 $smarty-->assign(“name”,”Tom”)

         在HTML中{$name;}就可以拿到这个值

         在Smarty中他会把html文件,全部抓出来分析里面这样的字符,用正则表达式进行替换即可。感兴趣的同学可以读一读Smary的源代码,本身也是开源的。

 

         PHP常见框架的特性:

         Yaf框架:Yaf使用PHP拓展的形式写的一个PHP框架,也就是以C语言底层编写的,性能上要比PHP代码写的框架要快一个数量级。

         优点:执行效率高,轻量级框架,可拓展性强

         缺点:高版本兼容性差,底层代码可读性差,需要安装拓展,功能单一,开发需要编写大量的插件

        

         Yii2框架:Yii2是一款非常优秀的通用Web后端框架,结构简单优雅、使用功能丰富、扩展性强、性能是它的最突出的优点。

         缺点:学习成本较高,相比Yaf量级较重

        

等等

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值