php教程技术文章
-
对比 PHP BackedEnum::from 与 tryFrom 的返回和失败语义,结合内部状态、HTTP 参数、数据库字段与 strict_types 给出选用方法。335 收藏 -
说明 PHP WeakMap 如何用弱对象键保存派生缓存,避免缓存容器延长对象生命周期,并给出迁移写法、强引用排查和最小验证示例。487 收藏 -
系统迁移 PHP 8.4 隐式可空参数:区分可空与可选,覆盖普通参数、必填参数之前的默认 null、联合与交集类型、继承签名,并给出自动修复和回归清单。481 收藏 -
PHP PDO 批量写入时,预处理语句负责参数绑定,事务负责把一批 execute 组织成可提交或可回滚的整体。本文给出统一 rollback、批次拆分和提交后重试的实现边界。143 收藏 -
文章 · php教程 | 6天前 | JSON · api设计 · php教程 · php json_encode JsonSerializable JSON_THROW_ON_ERROR jsonSerialize
PHP 对象实现 JsonSerializable 后,可用 jsonSerialize 显式选择、改名和组合 JSON 字段,并排除敏感属性。本文给出嵌套对象、错误处理与兼容策略的完整写法。129 收藏 -
PHP 上传内容可在读取临时文件或 php://input 时挂载 stream_filter 分段处理。本文说明两种入口的差异,并给出跨 bucket 保留半行、关闭时刷新残留数据的完整写法。292 收藏 -
PHP 8.4 的 Lazy Objects 通过 Lazy Ghost 和 Lazy Proxy 延迟创建实体。本文用最小示例说明初始化触发点、失败回滚、序列化、克隆、析构与对象身份边界。409 收藏 -
PHP Attributes 适合给控制器声明路由和中间件元数据,但每次请求都反射扫描会放大开销。本文用纯数组描述、版本化缓存键和明确失效策略,整理一套可落地的缓存方法。357 收藏 -
用 PHP Backed Enum 把数据库中的 string 或 int 状态安全映射为业务类型,明确 tryFrom、from、未知值、写回 value 与迁移回归边界。278 收藏 -
PHP Fiber 只负责暂停和恢复调用栈,不会把 file_get_contents 等阻塞 I/O 自动变成异步。本文从 suspend、resume、throw 的契约出发,说明如何让事件循环在流可读时恢复 Fiber、在超时或错误时抛出异常,并划清单线程协作式切换与真正并行的边界。176 收藏 -
DateTimeImmutable::setTimezone 会返回新对象,并保持原对象和底层时间点不变。本文用最小示例说明返回值接收、来源时区、时间戳验证、非法时区和夏令时边界。485 收藏 -
DateTimeImmutable::createFromInterface 会创建新的不可变对象,并保留来源对象的日期、时间与时区信息。本文通过可复用封装说明时区名称、偏移和微秒的验证方法,以及保留时区与显式转换时区的区别。201 收藏 -
PHP OPcache 预加载适合放稳定、无请求状态且能跨请求复用的类和函数;本文给出 preload.php 配置、排除清单以及部署重启边界。409 收藏 -
PHP Closure::bindTo 同时影响 $this 对象和类作用域,但不能绕过静态闭包、内部类及不兼容类层级限制。本文用结构化示例说明 newThis、newScope、null 返回和可维护封装方式。394 收藏 -
通过一次请求头和超时不生效的排障过程,讲清 PHP stream_context 的数组层级、file_get_contents 传参位置、POST 请求、错误响应与重定向边界。263 收藏