总结 php 框架的功能

优质
小牛编辑
128浏览
2023-12-01

什么是php框架?

php框架就是把php开发过程中通用而繁琐的部分抽象出来,约定出一些固定的套路来供你配置,这样协作开发的人也更容易相互理解。

所有php框架一般都包含以下内容:model、视图(view)、控制器(controller)、路由(router)、工具集、扩展组件。

model:就是数据库表的类表达,这个class对应着数据库表结构,比如数据库表里有一列叫做name,那么这个类就有一个成员变量name,当然model可以附加getters和setters以及其他自己实现的方便操作的成员函数。框架抽象出model的目的是让我们像对待内存中的变量一样对待数据库表,这样我们就不用关注数据库了

视图:就是展现给用户的部分,通常是网页(html),比如要把某个model的某个成员值展现出来,那么就传给视图来通过html显示出来。当然样式也是在视图里面实现的。为了开发的方便性,视图一般结合着模板使用

模板:模板包含三部分内容,一个是视图的继承,一个是传递变量,一个执行逻辑。视图继承就是我们可以写一个base模板,定义好通用的页面布局大框架,并把每个可定制的部分预留出接口来给子类视图实现。传递变量的功能实现了从php到html的数据传递,比如在html里用<h1>{{ name }}</h1>来展示php里的name这个变量的值。执行逻辑就是定义了一些分支、循环等逻辑来动态输出html

控制器:控制器是用来实现业务逻辑的部分,控制器可以理解为事件触发时的执行逻辑,比如当你访问某个url(如: https://www.lcsays.com/bloglist/2)可以触发bloglist对应的控制器执行“列出博客列表”的逻辑,那么这个控制会怎么做呢?可能是这样的:它获取blog这个model里的所有数据,并把数据全部传给视图,而视图通过循环逻辑取出每个blog的name展示出来。

路由:就是定义了什么pattern的url对应执行哪个控制器逻辑,其实就是一个映射关系。除此之外还有变量传递、路由通配等功能。

工具集:除了上面有固定套路的部分之外就是一堆工具集了,这部分不同框架也不太一样,所以用着再说

扩展组件:一般框架都会配有一些扩展组件,当然强大的网友会帮你开发各种各样的组件,git上只有你想不到的,没有你找不到的。

都有哪些流行的php框架?

国外比较流行的php框架有laravel、symfony2、yii2等,国内比较流行的有phalcon、thinkphp、zend framework等。其实所有的php框架不外乎上面讲的几大部分,真正的业务逻辑都是得我们自己来实现。我个人用symfony2有一段时间了,相对比较熟悉,所以后续章节都以symfony2来带大家领略php的美妙。当然这里我也给symfony2打个广告,我当前发文章的博客网站就是用symfony2框架搭建的,功能包括:用户管理、新闻发布、分类管理和多媒体资源管理,自己开发的代码行数不到800行,其余全是用symfony2各种组件修改配置搭起来的,是不是amazing?

展示一下我的800行代码的网站效果

首页效果

文章列表页

文章详情页

底部评论(多说)

后台管理首页

后台管理类别管理

文章编辑

多媒体资源管理

用户管理

图片详情