php教程技术文章
-
文章 · php教程 | 1星期前 | 反射 · PHP · PHP 8.5 · 属性 · 兼容性 · php PHP 8.5 ReflectionAttribute DelayedTargetValidation 属性目标
PHP 8.5 的 DelayedTargetValidation 不是放宽属性规则,而是把内置属性目标的错误从编译阶段延后到反射运行阶段,适合维护跨 PHP 版本的库代码。159 收藏 -
用 DOMXPath 读取 XML 时,节点查询、count() 和 string() 返回的类型不同。本文用最小 PHP 示例说明如何判断返回值、处理空节点集,并把结果安全地转换成业务字段。158 收藏 -
文章 · php教程 | 2星期前 | 反射 · 单元测试 · php教程 · 对象初始化 · php ReflectionClass newInstanceWithoutConstructor ReflectionProperty isInitialized 遗留代码测试
PHP 反射可以创建一个不执行构造函数的对象,适合给遗留类做边界测试,但未初始化属性仍可能在读取时抛出 Error。本文用 ReflectionClass、ReflectionProperty 和 isInitialized() 演示安全的测试夹具写法。157 收藏 -
PHP Generator 的 yield 用于逐条输出数据,return 用于返回最终汇总;本文说明如何在迭代结束后通过 getReturn() 安全取值,并解释提前读取、空返回和 yield from 的边界。157 收藏 -
PHP 的 array_is_list() 不支持通过配置放宽条件;它只认从 0 开始且按顺序无缺口的整数键。本文用键检查定位 unset 和 array_filter 造成的断档,并说明何时用 array_values() 修复列表形状。157 收藏 -
文章 · php教程 | 2星期前 | HTTP · 文件上传 · PHP · PHP 8.4 · multipart/form-data PHP 8.4 request_parse_body PUT文件上传
PHP 8.4 的 request_parse_body() 让 PUT、PATCH 等非 POST 请求也能解析表单和文件。用一个可运行的小接口说明请求体只能读取一次、上传大小覆盖和失败验收。155 收藏 -
本文详解为何基于 jQuery 的复选框文本排序脚本在 Smarty foreach 循环渲染后失效,并提供可靠、兼容 Cyrillic 字符的 DOM 排序方案,避免重复元素与乱序问题。 本文详解为何基于 jQuery 的复选框文本排序脚本在 Smarty `foreach` 循环渲染后失效,并提154 收藏 -
PHP backed enum 默认把 value 编码为 JSON 标量,纯 enum 不能直接编码;本文用示例说明如何用 JsonSerializable 固定 code、label 等接口结构,避免 case 重命名破坏兼容性。151 收藏 -
从 PHP 8.6 Closure optimizations RFC 出发,区分无状态闭包缓存、变量捕获和对象绑定,给出安全改写边界。150 收藏 -
用一个可复现的 PHP Fiber 示例排查 start、suspend、resume 和 getReturn 的状态边界,避免重复恢复与未完成读取。149 收藏 -
PDOStatement::fetchColumn() 读取单列很方便,但 0、NULL、false 和无结果分别代表什么,不能靠 if 判断猜。本文用 PHP PDO 查询场景拆开返回值边界,并给出行存在性、空值和布尔字段的验收写法。147 收藏 -
DateTimeImmutable 用 modify('+1 month') 修改月底日期时不会自动截断到目标月末,而是按相对日期规则继续归一化。本文解释月份溢出的原因,并给出月底对齐、显式日号校正和回归测试写法。147 收藏 -
文章 · php教程 | 2个月前 | Redis · 迁移 · session · php教程 · 登录态 · redis session phpredis PHP教程 session.save_handler 分布式登录 回归检查
围绕 PHP Session 从本机文件迁移到 Redis 的过程,梳理旧架构风险、配置变更、锁等待、TTL 清理、内存水位、回滚开关和上线回归检查。145 收藏 -
本文讲解在 Lara vel 中从数据库查询结果中提取纯整数(如 100)而非对象或 JSON 字符串的方法,重点解决 select('price')->get() 返回集合后如何安全获取原始整数值的问题。 本文讲解在 Lara vel 中从数据库查询结果中提取纯整数(如 100)而非对象或 JSO138 收藏 -
PHP 表单校验失败时,不要只返回一条错误信息。本文用服务端校验、字段级错误、旧输入回填和可访问提示,整理一套更友好的表单处理方式。134 收藏