php教程技术文章
-
JSON_THROW_ON_ERROR 能让 PHP 解码失败直接抛出 JsonException,但异常并不会自动携带业务字段路径。本文用原始请求体、行列提示和字段级解码,建立一套可追踪的 JSON 错误记录方式。501 收藏 -
文章 · php教程 | 3星期前 | 数据校验 · php教程 · PHP 8.4 · PHP 8.4 Property Hooks 金额校验 set 访问器 InvalidArgumentException
PHP 8.4 property hooks 可以把金额字段的归一化和范围校验放在属性写入边界。本文用订单金额对象演示 set 访问器、异常回滚、构造初始化和 PHP 8.3 兼容写法。499 收藏 -
PHP 文件上传时不要直接相信客户端 MIME 或文件扩展名,应读取服务器临时文件,用 finfo(FILEINFO_MIME_TYPE) 判断内容,再通过允许列表和安全命名完成保存。499 收藏 -
PHP cURL 中,CURLOPT_CONNECTTIMEOUT 负责连接阶段,CURLOPT_TIMEOUT 负责整次请求;本文用秒级和毫秒级示例说明如何配置、诊断和选择预算。498 收藏 -
PHP match 未处理分支通常不是语法错误,而是严格比较没有命中且表达式没有覆盖全部输入。本文用 default、异常边界和类型检查给出一套排查方法。498 收藏 -
PHP PDO fetchObject 的第二个参数就是构造参数数组。本文从参数位置、构造顺序、FETCH_PROPS_LATE 和最小验证四个方面排查常见问题。496 收藏 -
PHP yield 通过暂停并恢复生成器,按需交出当前数据,避免在处理开始前构造完整数组。本文解释内存差异、逐条读取写法、资源清理和不能随机访问的边界。495 收藏 -
PHP 8.5 的 |> 适合把单输入、单输出的纯函数按数据流从左到右串起来。本文用字符串转换示例说明 callable、箭头函数括号、多参数收口和不适用边界。490 收藏 -
PHP preg_match 返回 0 和 false 不是一回事:0 表示正则语法有效但没有匹配,false 表示调用或正则本身出错。本文用手机号校验和 UTF-8 异常案例拆开判断顺序,给出日志记录、错误定位和边界检查方法。489 收藏 -
文章 · php教程 | 6天前 | php教程 · session.save_path PHP session_start PHP会话保存路径 session_save_path排查 PHP会话目录权限
PHP session_start 找不到保存路径时,先查看当前请求实际生效的 session.save_path,再区分配置层级、代码覆盖、目录权限和容器挂载问题,最后用绝对路径完成复查。489 收藏 -
PHP json_decode 返回 null 不一定是语法错误,深层 JSON 超过 depth 时会产生 JSON_ERROR_DEPTH。本文用异常、错误码和轻量结构扫描区分问题,并给出生产环境的深度上限与排查写法。488 收藏 -
PHP 8.5 的 NoDiscard 属性用于提醒调用方不要悄悄丢弃重要返回值。本文说明如何选择适用函数、添加提示、处理有意忽略的结果,并厘清接口、继承和 trait 的边界。486 收藏 -
PHP 处理中文字符串时,mb_str_split 的 length 按字符而不是字节计算。本文从 UTF-8 编码、固定长度切块、参数边界和 emoji 组合字符四个方面说明怎么写,避免中文被拆成乱码或长度判断失真。485 收藏 -
文章 · php教程 | 3星期前 | JSON · 数据校验 · 异常处理 · PHP · php json_decode JSON_THROW_ON_ERROR JSON_ERROR_DEPTH JSON_ERROR_SYNTAX
PHP json_decode 返回 null 时,先区分合法 JSON 的 null、语法错误、深度超限和编码问题,再用 JSON_THROW_ON_ERROR 与 json_last_error_msg() 留下可定位的异常证据。484 收藏 -
文章 · php教程 | 3星期前 | WEB开发 · 安全 · PHP · session · php session session.use_strict_mode session_regenerate_id 会话固定
PHP 会话固定防护不能只依赖一个配置项。本文从 session.use_strict_mode 的接收规则讲起,演示登录前后如何轮换 session_id,并说明旧 Cookie、并发请求和自定义 SessionHandler 的边界。483 收藏