php教程技术文章
-
后台权限代码最怕把未知角色当成普通用户继续执行。本文用 PHP 8.2 枚举定义角色和动作,通过显式策略映射、拒绝默认分支与审计日志,把权限判断做成可测试、可追踪的边界。495 收藏 -
PHP-FPM 文件上传接口出现磁盘告警时,先从 upload_tmp_dir、is_uploaded_file、move_uploaded_file 和异常回收入手,建立可观测、可回滚的临时文件处理流程。357 收藏 -
PHP 8.5 新增 #[NoDiscard] 属性,可以在调用方忽略关键返回值时给出警告。本文从一个被吞掉的校验结果切入,说明属性的适用边界、(void) 豁免方式和升级到 PHP 8.5 前后的验证清单。390 收藏 -
文章 · 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 mysqli 把 CSV 导入 MySQL 时,不要一次性读完整文件。本文用分批读取、参数绑定和事务回滚做一个可验收的小工具,并说明内存、重复数据和失败续跑的边界。487 收藏 -
PHP 8.3 的 readonly class 适合承载不可变请求 DTO,但它不会自动完成 JSON 类型校验。本文从订单请求反序列化出发,说明构造器边界、字段校验、异常响应与版本兼容检查。105 收藏 -
不引入完整容器,也可以用 PHP 8 属性和反射做一个可控的轻量依赖注入容器。文章从构造器参数解析、服务注册、单例边界和测试替身四个角度,给出可运行的小实现,并说明哪些场景不该继续扩展。262 收藏