前言:laravel
笔者做为一个刚刚开始学习的小白级别的人,在这里写下的只是本身在实际中所闻所见所思所想,属于我的经验,不必定对,有不正确的地方但愿予以指出。git
正文:程序员
废话很少说,咱们先上图看看mvc模式究竟是个什么东东?spring
如上图所见mvc(Model View Contraller)模式是一种映射传统开发的输入,处理,输出的一种开发规范。数据库
学习中我第一个真正意义上开始接触框架,数据库,视图,依赖等是使用laravel+composer(管理依赖),估计各路大神一看就知道是怎么回事,但对于新手来讲,实际在学习的过程当中,这玩意确实是会困扰你一两天。session
开始正题,在使用laravel这套框架的时候:mybatis
migrations:M(model)用于管理数据库中的各类操做,建立表,关联Contraller,.env文件配置数据库啊等。mvc
views:很直白了,就是视图层的东西,固然,Nothing is simple,笔者是个爱追根问底的人,可是也在学习的过程当中学乖了,先学会用,至于为哈?之后能明白了在说吧,否者,你会:什么是session?什么是request?传来传去的那个数据对象到底叫啥名,视图层又怎么去取?...具体的不少细节也只能说是在实际中慢慢去体会了。app
contrallers:C(contraller),若是说view 和model很好理解的话,那么对于你说惟一有点挑战的就是contraller层了,这一层定义了访问路由(routes),业务逻辑等等方面的东西,也是在学习过程当中最容易出现bug(姑且用这个高大上的名称吧)的地方,在这一程或许对于咱们来讲是各类各样的逻辑错误,一遍一遍的看代码,一遍又一遍的重写,但对计算机来讲,其实就是你打错几个符号的问题。composer
在这里笔者总结了本身学习的步骤:
1:Model层:无论什么项目,先把你的数据库关联上,不一样的框架有不一样的方法去关联,好比laravel中.env文件,mybaits中的appliction.yml文件,git别人项目的时候必定要把这个改掉,不然——你会经历绝望。
2:将Model层与Contraller层关联,仍是那句话,具体看是什么框架,通常是一个类,或者一个接口
3:关联Contraller和View,怎么返回视图,怎么定义路由,怎么获取对象数据。
4:永远虚心学习,否者——你会发现你看别人的代码。。。不过这就是各路大神存在的意义嘛。
相信细心的朋友看见了上图中惟一一处使用图标的地方也表示了MVC最烦人的地方,木有统一规范,对,木有!可是或许在开发过程当中上手快的朋友在看完设计的那一刻就大概明白了什么是MVC了,就算模模糊糊,写一两个逻辑就能迅速的明白怎样区分。
下面咱们就来比较一下:
PHP: composer+laravel VS Java: Jfinally+mybatis+spring+freework
从上面你们就能够看出不一样的语言不一样的特性,可是没有好坏,一切由需求决定。
前一套前面已经介绍的差很少了,咱们来简单的看看后一套。
固然具体配置,怎么注入什么的请各位看官自行百度,Blog是个好东西
Model:工具Mybaits,特色使用Xml对数据库进行处理,只用定义好接口就能够
View:我不写页面,这就比较尴尬,哈哈(尴尬脸)。。。
Contraller:一样,这一层也是比较复杂:
contraller —》Service —》Dao(interface) —》Xml —》数据库
其实仍是挺有逻辑和顺序的是吧。
总结:
mvc模式在上手以后能很快就分清怎么去作,逻辑清晰(固然各个框架不同)对于笔者这样的小白来讲体验过一两次后仍是能很快的上手的。(先学会怎么去使用的状况)
写具体的代码是一个细心的过程,不管你认为本身写的又多完美,在报错的那一瞬间...多看信息,细心养成习惯才是最重要的
固然,若是你去看司机的代码。。。
求解:全是接口怎么玩
引用阮一峰的话“别说本身是程序员”,代码是要写的,更重要的是学会思考,而不是为了写代码写代码,由于我才知道有个玩意叫代码生成器。。。 求心理阴影面积。。。