PHP 后期静态绑定 ( Late Static Bindings ) 的使用

2019-10-27
阅读 3 分钟
1.4k
后期静态绑定也就是 static:: 在类中的用法,首先需要明确一点,static:: 后可跟 类常量 、静态属性(类变量)、静态方法 和 普通方法(跟 类常量/静态属性/静态方法 时 static 代表一个类,跟 普通方法时 static 代表一个对象),不可以跟普通属性(对象的成员变量),因为语义上无法辨别是普通属性还是静态属性(语法...

PHP变量 之 对象类型变量

2018-04-22
阅读 2 分钟
4.4k
若一个变量是一个对象,那么该变量保存的就是一个引用类型的值,即变量中实际保存的是堆内存中对象的地址,而不是对象的实体;若变量为其他类型,则保存的是基本类型值,而不是引用地址。这一点需要特别注意,因为我们可能会遇到如下几种情况,不清楚原理可能导致出错。

开发模式与产品模式下的PHP报错处理

2018-04-19
阅读 2 分钟
2.3k
在开发php程序时,我们希望遇到php报错,可以第一时间展示给我们,以便于调试。当程序开发完成,成为正式产品时,我们希望将没有预测到的报错信息记录到错误日志中,而不是将这些报错信息展示给用户,因为用户极有可能利用这些暴露出脚本路径、数据库信息或其他的报错信息进行一些破坏性的黑客行动。

PHP之引用计数内存管理机制和垃圾回收机制

2018-03-29
阅读 3 分钟
4.3k
a和b指向了同一块内存区域(变量容器 zval ),我们通过 var_dump($a, $b) 得到 string(5) "apple" string(5) "apple" ,这是我们预期的结果。

一次php脚本执行过程中多次实例化PDO的情景分析

2018-03-14
阅读 2 分钟
3.1k
可以看到一个脚本的执行产生了三个数据库连接,但是如果将后面的实例化的pdo实例赋值给之前实例化的pdo实例,则新的连接会替换掉前一个连接,而不会产生新的连接。所以我们在编程过程中,应该避免多次实例化pdo,而产生不必要的数据库性能消耗。

对 PHP-FPM 和 CGI,还有并发响应的理解

2017-11-18
阅读 2 分钟
7k
关于本篇文章的部分纠正,请参考这篇文章:[链接] 首先搞清楚php-fpm与cgi的关系 CGI CGI是一个web server与cgi程序(这里可以理解为是php解释器)之间进行数据传输的协议,保证了传递的是标准数据。 PHP-CGI php-cgi是php解释器,就是上文提到的cgi程序。 Fastcgi Fastcgi是用来提高cgi程序(php-cgi)性能的方案/协议...