分类: Engine

30 篇文章

PHP编译安装参数整理
好久没鼓捣环境了 温习顺便整理下 php编译安装的基本步骤// 首先要下载一个php的安装包,例如:php-7.2.12.tar.gz, tar zxvf php-7.2.12.tar.gz // 解压php安装包,得到一个php-7.2.12的文件夹 cd php-7.2.12 ./configu…
PHP7下Error和Exception
Error 和 Exception 的异同 Exception 需要通过 throw new Exception 手动抛出 Error 可以在 PHP 脚本执行发生错误时自动触发,也可以通过 trigger_errors() 手动触发 都实现了 Throwable 接口,可以通过 catch (Th…
PHP8新特性
联合类型(Union Types)在PHP7中,我们在强制函数返回类型时是这样做的 function create() : bool 那么在PHP8中你可以使用多种预测类型 function create() : bool|string 当然在传参时也可以这样做 function create(bo…
yield探索
内存观察 迭代输出一个从1开始一直到10000的数组,步进为1。 随手一写 <?php $start_mem = memory_get_usage(); $arr = range( 1, 10000 ); foreach( $arr as $item ){ echo $item."\…
PHP魔术方法备忘
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括: __construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__callStatic(),用…
PHP数组查找函数
php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array() , array_search() , array_key_exists()。 in_array(value,array,type) 该函数的作用是在数组array中搜索指定的value值,type是可选参数…
php-fpm的master进程杀死work还能处理任务吗
结论 master进程并不接收和分发请求,而是worker进程直接accpet请求后poll处理. master进程不断调用epoll_wait和getsockopt是用来异步处理信号事件和定时器事件. 验证方法 把Nginx和fpm都设置成了1个worker进程观察,得出结论是不会经过fpm的ma…
如何在外部改变类的私有属性
使用闭包就可以实现了<?php class Books{ public $count = 1; private $sum = 2; } function getInitializer(Books $books) { return \Closure::bind(function () use (…
解析spl_autoload_register()函数
最近在研究Composer的自动加载时,发现spl_autoload_register()这个函数非常重要,总结下。 spl_autoload_register() 的作用是 注册给定的函数作为 __autoload 的实现 spl_autoload_register()函数是实现自动加载未定义类功…
PSR-1 基础编码规范
PHP 标签PHP 代码 必须 使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可 使用其它自定义标签。字符集编码PHP 代码 必须 且只可使用 不带 BOM 的 UTF-8 编码。副作用总结下这个就是文件中定义了类和方法就不要再在业务逻辑了。。。命名空间…