php教程技术文章
-
用 PHP backed enum 稳定映射数据库状态值,覆盖旧编码兼容、tryFrom 边界、分批回填与未知状态处理。461 收藏 -
PHP Attributes适合保存字段校验规则,但不会自动执行校验。本文用ReflectionProperty读取属性元数据,实例化规则并统一收集错误,同时说明继承筛选、重复声明和缓存边界。141 收藏 -
通过一个可暂停任务包装器,说明 PHP Fiber 的 start、suspend、resume、throw 和 getReturn 如何配合,并给出异常传播与状态判断的实现边界。187 收藏 -
用 PHP Generator 配合 PDO 逐行读取数据,再通过 fputcsv 写入输出流,避免把大数据集一次性组装成数组,并厘清驱动缓冲与输出缓冲的边界。449 收藏 -
解释 PHP OPcache preload 的启动时机、preload.php 写法、PHP-FPM 重启边界和部署排查清单,帮助项目避免把普通缓存刷新误当成预加载刷新。233 收藏 -
用 set_error_handler 把 PHP 可捕获错误转换为 ErrorException,保留错误级别、文件和行号,并划清不可捕获错误的处理边界。372 收藏 -
PHP CLI 通过 php://stdin 和 fgets() 逐行读取标准输入,本文说明如何区分空行与 EOF、选择 trim 或 rtrim,并覆盖管道、重定向和长行边界。193 收藏 -
PHP curl_multi_select 返回 0 表示本轮没有活动描述符,不是请求失败。通过短暂让出 CPU 后继续 curl_multi_exec,并读取完成消息,可以避免多请求循环忙等。191 收藏 -
讲清 PHP DateTime 的来源时区、目标时区与瞬时时刻,使用 setTimezone 和 DateTimeImmutable 完成不改变时间戳的时区转换,并给出偏移量、时间戳和夏令时回归检查清单。261 收藏 -
用 PHP Intl 的 NumberFormatter 按地区格式化货币和小数,说明 locale、保留位数、舍入模式与自定义 pattern 的使用边界。122 收藏 -
区分 PHP CLI 与 PHP-FPM 的 OPcache 配置和缓存上下文,给出配置、状态核对、代码变更刷新与部署边界的实用方法。304 收藏 -
PHP PDO 的模拟预处理与原生预处理,关键差异在参数模板由谁解析以及 prepare() 是否与数据库协商。本文说明 ATTR_EMULATE_PREPARES 的配置方式、唯一占位符写法、驱动兼容边界和排查清单。112 收藏 -
PHP 8 中读取自定义 attributes,核心是先用 Reflection 获取 ReflectionAttribute,再按名称筛选,最后在需要时调用 newInstance() 得到属性对象。398 收藏 -
PHP 8.3 起可以在 __clone() 中重新初始化 readonly 属性。本文用对象复制场景说明作用域、深浅拷贝、间接修改和版本兼容边界。473 收藏 -
PHP Generator 的 yield from 可以把分页读取、过滤器、数组和 Iterator 组合成一条惰性迭代链。本文通过可运行示例说明委托控制权、重复键、iterator_to_array 参数以及 Generator return 值的处理边界。206 收藏