原来如此!一分钟了解什么是框架

572 查看

框架是什么概念


PHP框架,英文为Framework,关于其定义,这里给出了一些解释。
这些定义各有千秋,可是太抽象,在我看来,框架就是指仅含基本结构的PHP网站

虽然这个定义不太严谨,但仍旧是足够准确的,非常直观清晰具体

泛泛而谈等于不谈,就这么说一个定义,理解起来还有些茫然
要说清它是什么,弄明白它是如何产生的就行了。

接下来就模拟一次框架的诞生过程,就样我们就能理解框架到底是什么啦!

从HTML开始

框架是用来做网站的,所以我们就从做网站入手。
首先要有一个HTML页面。

静态HTML站

我们需要做的是一个网站,一个页面不够用,至少要有五个:

  1. 首页

  2. 列表页

  3. 内容页

  4. 关于页

  5. 联系方式页

可复用PHP页面

这五个页面有一些内容是一样的,比如说页面头部(header),足部(footer)。
我们就把这些内容抽出来,这样就有了可复用的页面。

这就是PHP静态网站。

内容管理系统(CMS)

我们要将现在这五个页面拓展成博客网站,实现以下功能:

  1. 可以自由地添加文章

  2. 文章存在数据库

  3. 可以对文章进行分类管理

结构说明

内容管理系统(CMS)不同于简单地复用PHP页面,它有较复杂的结构:

  1. 列表页、内容页是可复用的,就将其变成模板文件

  2. 增加一个管理页面,能读取我们的输入,再替换模板文件,生成最后的页面

  3. 增加对数据库的增删改查功能

网站的结构变成了三层MVC,这就是内容管理器(CMS)

新的需求

现在我们不光想做博客网站,还想做购物网站工具类网站。对于这些网站,本质上仍属于内容管理,都能用内容管理系统(CMS)来实现。

艰难的二选一

我们要实现新的需求,可以有以下两种做法:

  1. 根据需求从头到尾重新写一个内容管理系统(CMS)

  2. 使用已有的内容管理系统(CMS)做定制开发

第一种做法:如果自己写一个内容管理系统(CMS),一切从头开始,费时费力
第二种做法:使用现成的内容管理系统(CMS)来进行定制开发,还需要了解这个CMS的源码,同样很麻烦

框架的诞生


能否有一种简化的内容管理系统(CMS),去掉所有的模板,界面内容,仅保留对于数据库的交互,和自动生成页等易于拓展的基础功能?

这个简化的CMS就是原来CMS的基类合集,框架的概念就诞生了。
它是仅仅保留了MVC结构的CMS,相比CMS,开发的灵活性更大,同时又可以节省开发时间

关于不严谨的说明


以上就是不够严谨的框架说明。
既然不严谨,为什么还要列出来呢?

因为框架的抽象不同于其他抽象概念,它并非某个人或机构提出来的有标准的东西,而是随着互联网发展,被不断出现的新框架不断地被更新出来的。

所以对于像框架这种没有标准的概念,只能是不断地通过不严谨的说法来进行修正。