php教程技术文章
-
PHP 同会话请求排队时,应定位 session_start 等待,完成会话读写后用 session_write_close 提前释放。文章说明局部快照、关闭后修改、重新开启覆盖风险,以及框架入口的回退与复查方法。412 收藏 -
用 PHP stream 分块处理大文件时,核心是保持单个 chunk 的内存上限,正确区分 fread 的短读、EOF 和失败,并在不需要逐块转换时使用 stream_copy_to_stream。412 收藏 -
PHP 的 soundex 返回固定四字符键,metaphone 返回可变长度键且可用 max_phonemes 控制音素上限。本文从结果形态、检索选型、版本化切换和运行期排查说明两者的使用边界。412 收藏 -
PHP PDO 绑定 LIKE 查询时,SQL 只保留占位符,程序先按数据库规则转义用户输入中的百分号、下划线和反斜杠,再把完整模式值绑定进去。本文用包含、前缀和后缀匹配示例说明如何安全表达搜索意图。411 收藏 -
用 PHP DateTimeImmutable 处理跨时区时间时,关键是显式传入 DateTimeZone,并接住 setTimezone 和 modify 的返回值。本文从瞬时时刻、显示时区、输入边界和不可变对象传递说明怎样隔离时区副作用。409 收藏 -
从 PHP session.sid_length 的默认值、范围和弃用状态出发,构建一个最小会话示例,说明旧 Cookie、存储键、自定义处理器与安全配置之间的兼容边界。403 收藏 -
PHP PDO 动态筛选应把数据值交给占位符,排序和条件结构由固定片段与白名单控制。示例说明 bindValue、租户来源及异常传播,避免把执行失败当成正常空结果。402 收藏 -
PHP 需要根据运行时类名和参数数组创建对象时,可以用 ReflectionClass::newInstanceArgs。本文从最小示例开始,说明参数传递、白名单工厂、异常边界和验收方式。399 收藏 -
PHP 8.5 为过滤器增加 FILTER_THROW_ON_FAILURE。本文用 filter_var 说明如何把校验失败改成可捕获异常,并梳理与 false、null 返回值的兼容边界。399 收藏 -
PHP 的 __serialize 可以把对象状态改造成带版本号的稳定关联数组,避免私有属性改名直接破坏历史数据。本文给出版本字段、旧键映射、默认值、类型检查和读旧写新的完整写法,并说明运行态字段与不可信反序列化的边界。398 收藏 -
PHP array_reduce 的关键不是自动分组,而是让回调持续返回新的累加器。本文用订单分类示例说明如何创建分组、追加重复分类,处理 initial、空数组和缺失字段,并给出可复制的 PHP 写法。398 收藏 -
PHP 8.2 的 Randomizer::pickArrayKeys 可以从关联数组中均匀抽取指定数量且互不重复的键名。本文说明参数边界、ValueError 处理和键名映射回业务值的写法。397 收藏 -
PHP readonly class为所有声明属性施加只读约束,但不会冻结成员对象。通过构造初始化、数组修改、共享DateTime和继承示例,说明PHP 8.2起的能力及版本边界。395 收藏 -
以工单属于客户的 belongsTo 关系说明 Eloquent 字段裁剪:主查询保留外键、关联查询保留匹配键,再通过显式响应控制输出,区分空关系、序列化和授权的职责。394 收藏 -
PHP IntlChar::charAge 返回单个 code point 首次被指定或分配的 Unicode 版本。本文区分字符 age 与当前 ICU 版本,演示整数和 UTF-8 参数、四位数组、null 失败边界,以及如何把版本筛选封装成可维护的 PHP 函数。394 收藏