-
PHP 8.5 的 clone() 可以在复制对象时用关联数组覆盖少量属性,未列出的属性继续从原对象复制。本文从 readonly 值对象的排查现场出发,说明 clone-with 的写法、__clone() 顺序、可见性边界和旧版本兼容方案。
-
PHP 8.5 允许 Deprecated 属性标记类外编译期常量。本文用一个可迁移的例子说明属性写法、弃用提示、ReflectionConstant 盘点与旧版本兼容边界。
-
PHP 反射读取 Attribute 时,getName、getArguments、getTarget、isRepeated 和 newInstance 各自负责什么?本文用一个可重复的 Route 属性串起类、方法和参数的读取方式,并给出位掩码解析与 PHP 8.5 迁移清单。
-
说明 PHP OPcache 命中统计的运行范围、只读状态采集和区间比例计算,区分冷启动、容量压力、计数重置与CLI环境,避免通过反复清缓存或盲目关闭时间戳检查追求命中率。
-
PHP 方括号访问字符串时按字节处理,中文等 UTF-8 文本不能直接当作单字节字符数组使用。本文区分字节偏移与字符偏移,给出 mb_strlen、mb_substr、mb_strpos 和字符级封装的安全写法。
-
Symfony Finder 可以把 files、name、path、exclude 和 notPath 组合成一组可读的筛选规则。本文用一个 PHP 示例说明文件名与目录过滤如何叠加,以及如何记录扫描范围和结果边界。
-
PHP password_hash 的 cost 不宜照抄别人的数字。本文用一个小型登录模块说明如何在接近生产的机器上选择 bcrypt cost,并把 password_verify 与 password_needs_rehash 接入渐进升级流程。
-
PHP 8.5 URI 扩展读取查询参数的实用步骤:区分 Uri\Rfc3986\Uri 与 Uri\WhatWg\Url,理解 getQuery()、getRawQuery() 和 parse_str() 的边界。