php教程
已收录文章:34篇
-
文章 · php教程 | 4星期前 | 反射 · php教程 · php ReflectionClass Attribute ReflectionAttribute getAttributes isRepeatedPHP 8 的 Attribute 读取不是简单遍历字符串:ReflectionClass::getAttributes() 的名称过滤、ReflectionAttribute::IS_INSTANCEOF、isRepeated()、getArguments() 和 newInstance() 分别解决不同的验收问题。本文用一个可运行的注解扫描器拆开继承筛选、重复声明和参数校验边界。134 收藏
-
PHP 报 Allowed memory size exhausted 时,先区分单次峰值、批量数据过大和长期增长,再用 memory_get_usage、memory_get_peak_usage 与分段日志定位,最后验证回收和配置边界。413 收藏
-
preg_match 配合 PREG_OFFSET_CAPTURE 返回的是匹配文本和字节偏移,不是中文字符下标。本文用 UTF-8 文本拆解偏移量、mb_substr 截取和 offset 参数的校验边界。111 收藏
-
用 PHP 递归处理 JSON 日志中的密码、令牌和个人字段,兼顾嵌套数组、无效 UTF-8、null 值与审计可追溯性,给出可测试的脱敏边界。462 收藏
-
PHP 的 [] 和 list() 解构能让数组取值更短,但缺失键会得到 null 并触发告警,数字索引与关联键也不能混用理解。本文用订单输入示例拆开映射、默认值、校验和 foreach 的边界。427 收藏
-
PHP 8.4 的日期解析失败不应再靠返回值猜测。本文用用户输入日期的实际场景,说明 DateMalformedStringException 的捕获边界、格式校验、日志记录和旧版本兼容写法。367 收藏
-
PHP 8.4 属性钩子可以把输入归一化放进属性声明附近,但它不会替代完整的业务校验。本文通过金额和状态字段,说明 set 钩子的触发边界、类型约束、异常处理与旧版本回退方式。347 收藏
-
PHP 里用 filter_var 验证客户端 IP 时,REMOTE_ADDR、代理头和私网地址经常被混成一个判断。本文从请求现场出发,拆开可信代理、IPv4/IPv6、保留地址与验证结果的边界,给出可复查的实现。214 收藏
-
PHP 8.5 的 setcookie() 支持 Partitioned 选项,本文用跨站嵌入场景说明 Secure、SameSite 和 Partitioned 的组合要求,并给出旧版本安全回退策略。466 收藏
-
用原生 PHP 输出 text/event-stream,配合浏览器 EventSource 展示长任务进度,重点核对事件格式、心跳、断线重连和 PHP/网关缓冲边界。304 收藏
-
PHP 8.4 新增 mb_trim、mb_ltrim 和 mb_rtrim,可以按多字节字符安全清理首尾空白。本文用中文表单和 CSV 字段场景拆解全角空格、字符掩码、编码参数与 PHP 8.3 回退写法,给出可回归的边界检查。440 收藏
-
文章 · 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 收藏