php教程技术文章
-
PHP 同会话请求排队时,应定位 session_start 等待,完成会话读写后用 session_write_close 提前释放。文章说明局部快照、关闭后修改、重新开启覆盖风险,以及框架入口的回退与复查方法。412 收藏 -
用 Throwable::getPrevious() 逐层整理 PHP 异常链,示范包装异常、结构化日志和敏感信息脱敏的实用写法。175 收藏 -
PHP stream_get_contents 会从当前流位置读取内容,长度参数决定单次读取上限。本文说明小响应如何控制内存、大响应如何分块处理,以及 false、空字符串和未关闭资源等边界。271 收藏 -
PHP 8.1+ 中,backed enum 可以把稳定的 string 或 int 值直接映射到 JSON 接口字段;本文说明响应序列化、请求回填、tryFrom 校验和 JsonSerializable 自定义输出的边界。139 收藏 -
PHP array_key_first 在空数组中返回 null,合法整数键 0 不能用真假判断。本文从 PHP 7.3 迁移、首键与首值的区别、内部指针副作用和旧版本 polyfill 四个边界,整理一套可直接回归的安全写法。490 收藏 -
围绕 PHP Fiber 的 suspend、resume 与 throw,说明暂停值、恢复值、异常传播和终止状态如何被调度器分别管理。377 收藏 -
PHP preg_match_all 默认按捕获组分列返回,业务代码往往更需要按每次匹配整理成一条记录。本文用命名子模式和 PREG_SET_ORDER 组织结果,再处理未匹配组、字节偏移和可审计的错误分支。386 收藏 -
PHP PDO::getAttribute 可以读取数据库连接属性,但不同驱动支持的属性并不相同。本文从驱动识别、异常处理和兼容分支三个方面,整理一套不把驱动专属能力误当成通用 API 的写法。494 收藏 -
解释 PHP PDO 为什么不能直接嵌套开启事务,给出外层统一提交、内层抛出异常以及使用 SAVEPOINT 局部回滚的写法。218 收藏 -
PHP PDO 动态筛选应把数据值交给占位符,排序和条件结构由固定片段与白名单控制。示例说明 bindValue、租户来源及异常传播,避免把执行失败当成正常空结果。402 收藏 -
Composer 在生产环境通常应先用 --optimize 生成 classmap,再根据是否存在运行时生成类决定使用 authoritative classmap 或 APCu。本文围绕 dump-autoload 给出部署命令、取舍和最小检查清单。118 收藏 -
PHP NumberFormatter 通过 locale 决定数字与货币的地区展示规则,再由 formatCurrency() 接收 ISO 货币代码生成金额文本。本文说明创建格式化器、小数位控制、错误处理和接口边界。346 收藏 -
PHP stream filter 的方向与链顺序会影响字符转换。本文用 UTF-16LE 转 UTF-8 的内存流示例,说明先转码再做 ASCII 大写的原因,并区分缓冲和多字节边界。157 收藏 -
PHP 终端表格不要用 strlen() 猜列宽。本文用 mb_strwidth() 解释半角、全角和 UTF-8 编码边界,并给出按显示宽度截断与对齐的实用写法。241 收藏 -
PHP 文件上传失败时,upload_max_filesize 限制单个文件,post_max_size 限制整个 POST 请求。本文用现象、配置和 PHP 读取值的方法区分两者,说明为什么 post_max_size 必须更大,以及如何处理超限后 $_FILES 为空。211 收藏