php教程
已收录文章:24篇
-
PHP 8.4 属性钩子可以把输入归一化放进属性声明附近,但它不会替代完整的业务校验。本文通过金额和状态字段,说明 set 钩子的触发边界、类型约束、异常处理与旧版本回退方式。347 收藏
-
PHP PDO 事务里最容易误判的不是 beginTransaction,而是异常有没有真正离开业务边界、commit 是否只发生一次,以及回滚后调用方是否仍把失败当成功。本文用订单扣库存场景拆开这些边界。329 收藏
-
PHP 8.4 会弃用 Type $arg = null 这种隐式可空签名。文章用旧写法与 ?Type、Type|null 的对比,说明兼容边界、扫描方法、回归检查和可分批落地的迁移清单。317 收藏
-
用原生 PHP 输出 text/event-stream,配合浏览器 EventSource 展示长任务进度,重点核对事件格式、心跳、断线重连和 PHP/网关缓冲边界。304 收藏
-
用 PHP 写一个小型 HTTP 探测器,重点不是只把远程接口请求通,而是给连接设置超时、拿到状态码、记录耗时和错误信息,并让接口返回可验收的 JSON。文章用原生 stream_context_create 串起入口接口、请求函数、日志文件和验收清单,适合放进定时任务或后台健康检查。289 收藏
-
文章 · php教程 | 1个月前 | 错误处理 · 调试 · php教程 · PHP 8.5 · 错误处理 set_error_handler PHP 8.5 get_error_handler restore_error_handlerPHP 8.5 新增 get_error_handler(),可以直接读取当前用户错误处理器。文章用请求级日志采集场景拆解返回值、临时替换、restore_error_handler() 恢复和 PHP 8.4 兼容边界。284 收藏
-
PHP 文件上传不能只判断扩展名后直接保存。更稳的做法是把上传当成一条数据生命周期:接收 $_FILES,检查错误码、大小、MIME 和真实扩展名,生成服务端文件名,保存元数据,并配套清理临时文件和过期文件。242 收藏
-
PHP 里用 filter_var 验证客户端 IP 时,REMOTE_ADDR、代理头和私网地址经常被混成一个判断。本文从请求现场出发,拆开可信代理、IPv4/IPv6、保留地址与验证结果的边界,给出可复查的实现。214 收藏
-
本文从 PHP 项目中同步接口变慢的趋势信号出发,分析哪些场景适合队列化,哪些风险需要提前控制,并给出从请求内处理迁移到后台 Job Worker 的采用路径和观察指标。178 收藏
-
文章 · php教程 | 2个月前 | Redis · 迁移 · session · php教程 · 登录态 · redis session phpredis PHP教程 session.save_handler 分布式登录 回归检查围绕 PHP Session 从本机文件迁移到 Redis 的过程,梳理旧架构风险、配置变更、锁等待、TTL 清理、内存水位、回滚开关和上线回归检查。145 收藏
-
文章 · php教程 | 1个月前 | 反射 · php教程 · php ReflectionClass Attribute ReflectionAttribute getAttributes isRepeatedPHP 8 的 Attribute 读取不是简单遍历字符串:ReflectionClass::getAttributes() 的名称过滤、ReflectionAttribute::IS_INSTANCEOF、isRepeated()、getArguments() 和 newInstance() 分别解决不同的验收问题。本文用一个可运行的注解扫描器拆开继承筛选、重复声明和参数校验边界。134 收藏
-
preg_match 配合 PREG_OFFSET_CAPTURE 返回的是匹配文本和字节偏移,不是中文字符下标。本文用 UTF-8 文本拆解偏移量、mb_substr 截取和 offset 参数的校验边界。111 收藏