php教程技术文章
-
PHP 8.3 起可以在 __clone() 中重新初始化 readonly 属性。本文用对象复制场景说明作用域、深浅拷贝、间接修改和版本兼容边界。473 收藏 -
PHP FFI::new 可以按 C 声明创建结构体或数组,但 owned、persistent 和 FFI::free 的组合决定了内存由谁负责。本文用一个消息结构体拆开指针类型、释放时机和生产环境的禁用边界。472 收藏 -
PHP WeakMap 没有单独的生命周期配置项,条目是否消失取决于键对象是否还存在强引用。本文用最小复现和排查清单定位 count 不变化、条目提前消失等问题。472 收藏 -
本文从 PHP 导出 CSV 时内存耗尽的现场出发,定位一次性查询和数组拼接的根因,改成游标分页、生成器和 fputcsv 流式输出,并给出复查清单。471 收藏 -
本文介绍如何在 Lara vel 中基于 Carbon 实现一个周期性轮播的每日事件调度逻辑:将 10 个事件按星期顺序循环分配(如周一→事件1、周二→事件2…周日→事件7、下周一→事件8,依此类推),支持自动取模回环,适用于课程表、值班表、内容推送等场景。 这段内容要解决的,是在 Lara vel469 收藏 -
文章 · php教程 | 3星期前 | PHP · 并发控制 · 线上排查 · php session.save_path PHP会话 session_write_close session.lazy_write
PHP session.lazy_write 默认只在会话数据发生变化时重写文件,排查时容易把正常行为误判为会话丢失。本文从 session.save_path、文件权限、会话锁和 session_write_close 入手,给出可复现的核对脚本与上线检查清单。469 收藏 -
PHP 8.5 将 chr() 接收 0 到 255 之外整数的行为标记为弃用。文章从字节输入、负数与大整数、编码边界和回归测试出发,给出兼容 PHP 8.5 的改造顺序。468 收藏 -
PHP 8.4 的 lazy proxy 不应通过读取属性来判断是否已加载,因为读取本身可能触发 factory。本文用 ReflectionClass::isUninitializedLazyObject() 做无副作用检查,再说明 initializeLazyObject() 的显式初始化和 proxy、真实实例的身份边界。468 收藏 -
PHP backed enum 处理请求参数时,from() 失败会抛出 ValueError,tryFrom() 失败返回 null。本文说明如何清洗外部值、映射稳定业务错误,并让领域服务只接收合法枚举。467 收藏 -
PHP 8.5 的 setcookie() 支持 Partitioned 选项,本文用跨站嵌入场景说明 Secure、SameSite 和 Partitioned 的组合要求,并给出旧版本安全回退策略。466 收藏 -
在 PHP 8.1 里,如果用 FFI 去加载 .so 动态库时碰到 “Failed resolving C function” 这类报错,问题往往不在库本身,而是出在头文件里混入了 FFI_SCOPE 和 FFI_LIB 这两个宏定义。要注意,这两个宏本来就是给 FFI::scope() 这种加载466 收藏 -
PHP 8.6 为 ReflectionProperty 增加 isReadable 与 isWritable。本文拆开 scope、object、hooks、readonly 和未初始化状态,说明检测结果能判断什么,以及为什么不能保证实际读写一定成功。465 收藏 -
本文围绕 PHP 8.4 Property Hooks 讲清它解决什么问题、旧 getter/setter 写法会受到哪些影响、迁移时怎样控制风险,并给出商品模型的最小验证代码。464 收藏 -
PHP 8.6 闭包优化 RFC 只把无状态闭包缓存部分合入。本文从 static、变量捕获、static 变量和对象绑定四个边界说明旧项目如何判断是否适合升级。463 收藏 -
用 PHP 递归处理 JSON 日志中的密码、令牌和个人字段,兼顾嵌套数组、无效 UTF-8、null 值与审计可追溯性,给出可测试的脱敏边界。462 收藏