浅谈我了解的PHP框架

228次阅读
没有评论

对于 PHP 的认知很多人还停留在 PHP5.6 的时代。

时代在变技术也在日新月异,在 PHP7 之后,PHP 的变化也是越来越快,从 PHP7.0 到现在的 PHP8.2,越来越多的新语法、新特性,和更加强悍的性能。

在之前说起 PHP 框架无非常常都是那些单入口的 PHP-fpm 运行方式的 PHP 框架,如 Laravel、Thinkphp、Yii 等。

就我我了解的 PHP 框架目前有三大类:

  1. PHP-fpm 运行模式的框架,如 Laravel、thinkphp
  2. 用 C 语言编写的 PHP 框架,如 yaf
  3. 常驻内存的以 PHP-Cli 模式运行的框架,如 Hyperf、webman

PHP-fpm 类型的框架:优点就是开发简单开发效率高,可以使用许多 PHP 内置的全局变量。缺点就是 fpm 的运行模式导致的执行效率低下,在大流量时对服务器的开销更大。

C 语言编写的框架,这个框架的目的主要是为了抵消 fpm 运行模式下对性能的消耗,反正我还没接触过这样的项目。

至于 Cli 常驻内存模式的框架又有两种类型,一个是基于 PHP 扩展 swoole 开发的、一个是纯 PHP 基于 socket 编程开发的框架。

就我所了解的层面,这些框架都是 mvc(模型、视图、控制器)模式的框架,然后 fpm 框架的话一般是单入口模式然后通过伪静态实现路由的多样化。而 Cli 类型的框架通常的运行方式是启动框架,框架则会监听某个端口,通过 nginx 将进来的请求转发到 PHP 框架监听的端口中,php 从而接收请求并处理请求。

在 Cli 运行模式下,有若干禁忌

  1. 全局变量无法共享
  2. http 请求参数获取无法从 $_POST、$_GET 等变量中获取
  3. echo、vardump 打印输入,不会直接输出到浏览器上
  4. 禁止使用 die/exit
正文完
有偿技术支持加微信
post-qrcode
 1
评论(没有评论)
验证码