![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
老李说IT
这个作者很懒,什么都没留下…
展开
-
「新品发布」PHP 8 正式发布
PHP 8.0.0 是最新的主要版本,它引入了一些重大变更,以及许多新特性和性能优化,包括命名参数、联合类型、注解、Constructor Property Promotion、match 表达式、nullsafe 运算符、JIT,以及对类型系统、错误处理和一致性的改进。 下边简单介绍一些亮点: JIT,Just-In-Time,即时编译 最重大的特性非 JIT 莫属。该特性的研发历时多年,熬过了 PHP 5 与 7 大版本系列(PHP 6 项目流产),直到去年 3 月份才最终通过投票确认将进入 PH原创 2020-11-27 16:36:20 · 167 阅读 · 0 评论 -
性能优化之PHP(二)
1、减少使用魔法函数 2、尽量少的使用错误避免提示符@ vld扩展查看opcode,可以发现@会在opcode中增加内容 BEGIN-SILINECE END-SILINECE 3、合理控制内存 3.1 用unset释放 3.2 unset注销变量有注销不掉的情况,gc回收机制,可以细看 4、避免在循环内做计算 5、减少使用文件操作 内存 << 数据库(数据库会缓存部分数据所以优于硬盘) < 硬盘 < 网络 6、减少密集计算型功能(PHP不适合此类场景) 7、高频原创 2020-11-26 13:09:47 · 117 阅读 · 0 评论 -
「PHP学习手册」常见的9种设计模式
1、类自动载入 随着PHP项目的变大,会导致一个PHP文件的前面有很多的require去包含各种依赖的PHP文件。如果某个类删除,但是在别的文件里有导入的情况,就会导致致命错误。解决以上问题的方法,就是__autoload()函数。 PHP就是用这段代码,去动态的载入需要包含的文件。当使用某个类,而这个类没有包含到文件中时,就会调用__autoload()函数,去动态的加载这个文件。但是,当使用多个框架时,每个框架都会有自己的__autoload()实现,所以,会导致文件重复导入。 2、单例模式 $原创 2020-11-24 11:34:03 · 112 阅读 · 0 评论 -
「PHP学习手册」代码检查工具phabricator
Phabricator是什么 Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提交后审查)。 Phabricator是Facebook保驾护航的11大IT技术之一。在Phabricator的网站中,开发者给出了这样的描述:“Facebook的工程师们毫不掩 饰自己对于Phabricator的喜爱之情,他们甚至将它视为‘顺利’与‘严谨’的代名词。下面我就将演示使用Phabricator进行代码检视的流程以及他的亮点。 Phabricator之代码检视工具Di原创 2020-11-24 11:16:42 · 590 阅读 · 0 评论 -
「PHP学习手册」PHP标记&变量类型
1、如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。 2、文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用 include 或者require 时省略掉会更好些,这样不期望的空白符就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的空白符。 3、当转换为 boolean 时,以下值被认为是FAL原创 2020-11-23 13:27:29 · 152 阅读 · 0 评论 -
「PHP学习手册」解释执行PHP的三种方式(CGI,内置模块,FastCGI)的差异
一、三种解释方式的差异 1、CGI方式介绍: cgi在2000年或更早的时候用得比较多,以前web服务器一般只处理静态的请求,如果碰到一个动态请求怎么办呢?web服务器会根据这次请求的内容,然后会fork一个新进程来运行外部c程序(或perl脚本…), 这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出。 如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程,周而复始的进行。 2、web内置模块介绍: 后来出现了一种更高级的方式是,原创 2020-11-23 11:19:19 · 266 阅读 · 0 评论 -
PHP 框架 QueryPHP 1.1.0-alpha.1 发布
QueryPHP 1.0.3 仅仅做了对 PHP 8.0 和 PHP 8.1 兼容性处理,修复了 PHP 8 下面的代码和测试用例。 QueryPHP 1.1.0 采用 PHP 8 新特性对代码进行优化和处理,更好的类型系统使用底层代码更加简洁,更可靠。 举个例子使用 match 表达式和属性提升,代码更加精简干净。PHP 8 类型系统已经比较完整,删除了系统所有属性的 @ var 标记,所有函数和方法的 @ params,因为每一种类型都有一个确定的值,可以完全从 docblock 中删除。 因为 PHP原创 2020-11-23 10:47:39 · 131 阅读 · 0 评论 -
企业级的 PHP 微服务云原生协程框架Hyperf 发布 v2.0.13 版本
更新内容 本周主要新增了一些特性,并修复了一些组件的 ????Bug,继续提升 Hyperf 的稳定性,发布于2.0.13版,建议用户使用以下命令更新此版本。 composer update "hyperf/*" -o 直接访问 官网hyperf.io或 文档hyperf.wiki查看更新内容 新增 #2445当使用异常捕获器WhoopsExceptionHandler返回JSON格式化的数据时,自动添加异常的Trace信息。 #2580新增grpc-client组...原创 2020-11-20 14:16:03 · 411 阅读 · 1 评论 -
性能优化之PHP(一)
一、服务器配置 1、使用PHP加速器: 一般情况下,PHP脚本被PHP引擎编译后执行,会被转换成机器语言,也称为操作码。如果PHP脚本经过反复编译而得到相同的结果,那为什么不完全跳过编译过程呢? 通过PHP加速器,你完全可以实现这一点,它缓存了PHP脚本编译后的机器码,允许代码根据要求立即执行,而不经过繁琐的编译过程。 对PHP开发人员而言,目前提供了两种可用的缓存方案,一种是APC(Alternative PHP Cache,可选PHP缓存),它是一个可以通过PEAR安装的开源加速器。另一种流行的方案是Z原创 2020-11-18 13:53:30 · 137 阅读 · 0 评论