PHP
已收录文章:42篇
-
用 DateTimeZone::getTransitions 读取时区偏移变更,再结合 DateTimeImmutable 做缺口时间和重复时间的核对,避免把固定 UTC 偏移当成地区时区。348 收藏
-
PHP 8.4 引入 Dom\HTMLDocument,用于按 HTML5 living standard 解析字符串或文件。本文从旧 DOMDocument::loadHTML 的兼容场景出发,演示 createFromString、HTML 命名空间、编码和回退分支的验收方法。347 收藏
-
文章 · php教程 | 2个月前 | 异常处理 · PHP · 版本迁移 · PHP 8.5 · 输入校验 · 输入校验 filter_input PHP 8.5 FILTER_THROW_ON_FAILURE 异常迁移PHP 8.5 为 filter_var、filter_input 等过滤函数增加 FILTER_THROW_ON_FAILURE 标志,失败时从返回 false 改为抛出 ValueError。本文对比旧写法和新写法,说明 flag 组合、空值处理、异常边界与回归清单。347 收藏
-
用 PHP Reflection API 检查联合类型参数时,先区分 ReflectionNamedType 与 ReflectionUnionType,再处理 nullable 标记,避免把 null、单类型和多类型混成一个判断分支。346 收藏
-
Composer 私有仓库认证应避开仓库内明文密钥。本文拆解 auth.json、COMPOSER_AUTH 环境变量、CI 注入和凭据轮换的边界,给出可验收的配置方式。345 收藏
-
PHP 校验回调签名或一次性令牌时,逐字符比较可能暴露时序差异。本文从 webhook 验签场景出发,说明 hash_equals 的参数顺序、长度边界、类型校验、原始字符串编码和失败审计,给出可直接落地的验收清单。322 收藏
-
文章 · php教程 | 2个月前 | 性能 · 面向对象 · PHP · PHP 8.4 · ReflectionClass PHP 8.4 Lazy Objects newLazyGhost newLazyProxy PHP懒加载PHP 8.4 的 Lazy Objects 把延迟初始化交给 ReflectionClass。文章用订单详情对象演示 Ghost 与 Proxy 的差异、哪些操作会触发初始化,以及如何用 isUninitializedLazyObject 和最小测试确认边界。310 收藏
-
文章 · php教程 | 2个月前 | PHP · 时间处理 · 版本迁移 · PHP 8.4 · 时区 PHP 8.4 DateTimeImmutable::createFromTimestamp Unix 时间戳 微秒PHP 8.4 新增 DateTimeImmutable::createFromTimestamp(),可以直接从整数或浮点 Unix 时间戳创建不可变时间对象。文章用订单事件时间场景拆解 UTC 基准、Asia/Shanghai 展示、微秒精度与旧版本兼容回退。307 收藏
-
PHP 8.5 的 clone with 可以在复制对象时直接覆盖属性,适合不可变 DTO 和配置对象。本文用最小示例说明公开属性、私有属性、只读属性的边界,并给出升级后的回归检查清单。306 收藏
-
文章 · php教程 | 2个月前 | WEB开发 · 错误处理 · PHP · PHP 8.5 · 异常排查 · set_error_handler PHP 8.5 get_error_handler restore_error_handler 错误处理器PHP 8.5 新增 get_error_handler(),可以读取当前注册的错误处理器,适合排查框架中间件、临时兜底和恢复顺序问题。本文用一条被吞掉的警告为例,说明它与 set_error_handler()、restore_error_handler() 的配合方式及边界。292 收藏
-
PHP 8.4 新增 mb_ucfirst(),可以按多字节字符安全处理标题首字母。本文从 UTF-8 标题清洗场景出发,核对编码、空字符串、null 参数和 PHP 8.3 兼容写法,给出可回归的最小实现。256 收藏
-
PHP 日期计算里,1 月 31 日加一个月并不一定得到 2 月最后一天。本文对比 DateTimeImmutable 的 modify、显式锚定月初再回退一天等写法,给出可验证的选择边界。254 收藏