博主是非科班出身,所以和大部分新手有着一样的困惑,究竟什么才能算是MVC框架,总是在谈Model,View,Controller分离,可是究竟什么才能算是分离,而他们又是负责什么样的分工呢。
大二的时候参加实习,从事H5开发,刚进公司的第一天,带我的那个人就和我说,我们做的项目都是One Single Page,后来我才之后其实就是SPA(Single Page Web Application)。当然博主个人认为也就是大家经常说的web app(嘻嘻,个人认为)。那什么是SPA呢,其实就是手机访问一个链接,随着我们的点击,页面会给出响应,切换页面或者变更数据或者布局改变,但是不变的是url,也就是说页面本身是没有进行跳转的。而实现无缝刷新,数据传递,这个当然就得依靠ajax,而页面间的切换那就更简单了,纯hide,show。哈哈,到这为止,只是楼主简单普及下个人对SPA的看法。
首先谈View,顾名思义,就是视图,我们所看到的所有静态页面都可以说是view,但是我们知道纯静态的数据是死的,这时我们需要跟数据库拿数据,这时候我们可以封装一个函数
<?PHP
function CURD_SQL($data){
/*对data的处理*/
/*读取数据库,并输出合适的数据*/
}
?>
而数据的获取与处理就可以写在这个CURD_SQL中,而这个function就是我们的Model。静态有了,数据也能从数据库拿到了,那我们缺什么,缺一个event去触发去调取这个model中的值,我们就可以写这样一个函数
function initEvent(){
$(".a").click(fucntion(){
$.post("./index.php",fucntion(data){
$(".a").hide();
$(".b").show();
})
})
}
这个函数块其实就是一个controller,页面的点击可以触发这个controller,从而ajax post到php去获取我们想到得到的东西。当然博主举的例子只是最简单的,最小型的MVC模式