PHP框架,英文为Framework,关于其定义,这里给出了一些解释。
这些定义各有千秋,但是太抽象,在我看来,框架就是指仅含基本结构的PHP网站。数据库
虽然这个定义不太严谨,但仍旧是足够准确的,很是直观清晰具体。segmentfault
泛泛而谈等于不谈,就这么说一个定义,理解起来还有些茫然。
要说清它是什么,弄明白它是如何产生的就好了。框架
接下来就模拟一次框架的诞生过程,就样咱们就能理解框架究竟是什么啦!工具
框架是用来作网站的,因此咱们就从作网站入手。
首先要有一个HTML页面。网站
咱们须要作的是一个网站,一个页面不够用,至少要有五个:spa
首页图片
列表页开发
内容页get
关于页源码
联系方式页
这五个页面有一些内容是同样的,好比说页面头部(header),足部(footer)。
咱们就把这些内容抽出来,这样就有了可复用的页面。
这就是PHP静态网站。
咱们要将如今这五个页面拓展成博客网站,实现如下功能:
能够自由地添加文章
文章存在数据库中
能够对文章进行分类管理
内容管理系统(CMS)不一样于简单地复用PHP页面,它有较复杂的结构:
列表页、内容页是可复用的,就将其变成模板文件
增长一个管理页面,能读取咱们的输入,再替换模板文件,生成最后的页面
增长对数据库的增删改查功能
网站的结构变成了三层MVC,这就是内容管理器(CMS)。
如今咱们不光想作博客网站,还想作购物网站,工具类网站。对于这些网站,本质上仍属于内容管理,都能用内容管理系统(CMS)来实现。
咱们要实现新的需求,能够有如下两种作法:
根据需求从头至尾从新写一个内容管理系统(CMS)
使用已有的内容管理系统(CMS)作定制开发
第一种作法:若是本身写一个内容管理系统(CMS),一切从头开始,费时费力;
第二种作法:使用现成的内容管理系统(CMS)来进行定制开发,还须要了解这个CMS的源码,一样很麻烦。
可否有一种简化的内容管理系统(CMS),去掉全部的模板,界面内容,仅保留对于数据库的交互,和自动生成页等易于拓展的基础功能?
这个简化的CMS就是原来CMS的基类合集,框架的概念就诞生了。
它是仅仅保留了MVC结构的CMS,相比CMS,开发的灵活性更大,同时又能够节省开发时间。
以上就是不够严谨的框架说明。
既然不严谨,为何还要列出来呢?
由于框架的抽象不一样于其余抽象概念,它并不是某我的或机构提出来的有标准的东西,而是随着互联网发展,被不断出现的新框架不断地被更新出来的。
因此对于像框架这种没有标准的概念,只能是不断地经过不严谨的说法来进行修正。