php教程技术文章
-
文章 · php教程 | 2天前 | PHP · 并发控制 · 线上排查 · 会话管理 · 配置验收 · php session.save_path PHP会话 session_write_close session.lazy_write
PHP session.lazy_write 默认只在会话数据发生变化时重写文件,排查时容易把正常行为误判为会话丢失。本文从 session.save_path、文件权限、会话锁和 session_write_close 入手,给出可复现的核对脚本与上线检查清单。469 收藏 -
用 PHP Reflection API 检查联合类型参数时,先区分 ReflectionNamedType 与 ReflectionUnionType,再处理 nullable 标记,避免把 null、单类型和多类型混成一个判断分支。346 收藏 -
文章 · php教程 | 3天前 | 反射 · attribute · php教程 · PHP 8 · 代码验收 · php ReflectionClass Attribute ReflectionAttribute getAttributes isRepeated
PHP 8 的 Attribute 读取不是简单遍历字符串:ReflectionClass::getAttributes() 的名称过滤、ReflectionAttribute::IS_INSTANCEOF、isRepeated()、getArguments() 和 newInstance() 分别解决不同的验收问题。本文用一个可运行的注解扫描器拆开继承筛选、重复声明和参数校验边界。134 收藏 -
PDOStatement::fetchColumn() 读取单列很方便,但 0、NULL、false 和无结果分别代表什么,不能靠 if 判断猜。本文用 PHP PDO 查询场景拆开返回值边界,并给出行存在性、空值和布尔字段的验收写法。147 收藏 -
SPLFixedArray 适合固定长度、按整数下标顺序消费的批处理缓存,但不适合需要稀疏键、频繁扩容或复杂关联字段的场景。本文用可运行示例核对输入、校验、顺序读取和内存观测边界。477 收藏 -
PHP Generator 结束后进程内存没有回落,往往不是 yield 本身泄漏,而是迭代器仍被引用、foreach 引用残留或 finally 尚未完成。本文用可复现实验拆解判断顺序。254 收藏 -
SplPriorityQueue 是最大堆,同优先级元素的取出顺序没有稳定性保证。本文用可运行示例解释 compare 返回值、数组优先级和稳定顺序的实现边界。358 收藏 -
PHP 的 SensitiveParameter 与 SensitiveParameterValue 可以让堆栈中的敏感参数显示为脱敏对象,但它不等于日志系统自动脱敏。本文用异常堆栈、调试输出和结构化日志三个场景说明标注方式、getValue() 边界与验收方法。387 收藏 -
PHP 日期计算里,1 月 31 日加一个月并不一定得到 2 月最后一天。本文对比 DateTimeImmutable 的 modify、显式锚定月初再回退一天等写法,给出可验证的选择边界。254 收藏 -
用 DateTimeZone::getTransitions 读取时区偏移变更,再结合 DateTimeImmutable 做缺口时间和重复时间的核对,避免把固定 UTC 偏移当成地区时区。348 收藏 -
PHP 8.3 引入的 #[\Override] 可以在继承方法改名、接口调整或父类重构时尽早暴露契约断裂。本文用一个订单服务重构场景,拆解属性放置、编译期报错、接口实现和部署前回归检查。438 收藏 -
PHP 报 Allowed memory size exhausted 时,先区分单次峰值、批量数据过大和长期增长,再用 memory_get_usage、memory_get_peak_usage 与分段日志定位,最后验证回收和配置边界。413 收藏 -
PHP 用 fputcsv 导出 CSV 时,Excel 出现乱码、列错位或引号异常,通常不是数据本身坏了,而是分隔符、转义字符和 UTF-8 BOM 没有与打开方式对齐。本文用可复现代码拆开这些边界,并给出导出后的验收办法。428 收藏 -
文章 · php教程 | 4天前 | PHP · 日期时间 · DatePeriod · PHP 8.2 · 时间区间 · php DateInterval DatePeriod INCLUDE_END_DATE 日期区间
PHP DatePeriod 默认不把结束日期放进迭代结果。本文用按天生成账单日期的例子说明 INCLUDE_END_DATE、EXCLUDE_START_DATE 的组合、PHP 版本边界和可复现的遍历验收。114 收藏 -
用 PHP 和 PDO 设计一个可恢复的大文件上传流程,讲清分片命名、哈希校验、临时文件隔离、合并与失败清理的边界。415 收藏