php教程技术文章
-
PHP 8.4 为用户定义的函数、方法和类常量提供 #[\Deprecated] 属性。本文用一个兼容旧调用方的 PHP 示例,说明如何标注替代方案、用反射核对元数据,并把弃用提示接入 CI。382 收藏 -
文章 · php教程 | 3星期前 | PHP · php-fpm · PHP OPcache opcache_reset validate_timestamps revalidate_freq opcache_invalidate
PHP 发布新代码后仍执行旧脚本,应先从实际承载请求的 PHP-FPM 读取有效配置,再检查 validate_timestamps、revalidate_freq、发布绝对路径、file_cache 与 preload。本文给出受保护诊断代码、刷新方式选择和多实例排查清单。382 收藏 -
PHP session.use_strict_mode 默认关闭,开启后会拒绝存储端不存在的未知会话 ID,并向浏览器发送新的 ID。本文说明配置时机、Cookie 配置和自定义 session handler 的 validateId/validate_sid 边界。382 收藏 -
PHP IntlChar::digit() 用指定 radix 读取字符在 2 到 36 进制中的数值,charDigitValue() 只读取 Unicode 十进制数字。本文用边界表和 PHP 示例讲清二者的选择、返回值与异常输入处理。382 收藏 -
Symfony DomCrawler 读取 HTML 属性时,attr() 的第二个参数可以为缺失节点或缺失属性提供默认值;批量处理则应逐节点读取,并区分 null、空字符串和未匹配节点。381 收藏 -
文章 · php教程 | 1星期前 | pdo · php教程 · 异常排查 · php pdo 参数类型 预处理语句 bindParam bindValue PDOStatement PDO::PARAM_INT
PHP PDO 查询异常常与参数类型和绑定时机有关。本文解释 bindValue 默认类型、PDO::PARAM_* 的选择,以及 bindValue 与 bindParam 的取值差异,帮助你稳定处理 ID、分页、布尔值和 NULL。381 收藏 -
PHP 8.6 的 Autoconf 2.71 与 C11 构建要求,主要影响从 Git 源码生成 configure 的脚本;发布压缩包和数据库运行时依赖应分别处理。380 收藏 -
PHP preg_match 返回 1、0、false 三种结果,本文说明如何用严格比较区分无匹配和 PCRE 执行失败,并立即读取错误码与错误消息。380 收藏 -
PHP 项目报 Class not found 时,先不要盲目重装依赖。本文用 App\ 映射到 src/ 的例子,按命名空间、目录、文件名、大小写、dump-autoload 和 class_exists 逐层核对,定位 Composer PSR-4 自动加载失效的具体位置。379 收藏 -
PHP 8.3 引入的 json_validate 可以只判断 JSON 语法是否有效,depth 参数用于限制嵌套深度。本文说明默认值、有效范围、ValueError 与 false 的区别,以及和 json_decode 保持参数一致的做法。378 收藏 -
PHP 枚举映射要保持穷尽,核心是显式列出每个 case、不要用静默 default,并遍历 cases() 做回归测试。本文比较 enum 方法、外部函数和数组映射,说明各自边界。377 收藏 -
围绕 PHP Fiber 的 suspend、resume 与 throw,说明暂停值、恢复值、异常传播和终止状态如何被调度器分别管理。377 收藏 -
DOMDocument 处理 HTML fragment 时,普通 HTML 适合用临时根节点包装后解析,XML 兼容片段可以用 DOMDocumentFragment 和 appendXML。本文还说明 saveHTML、UTF-8、HTML4 解析规则与 PHP 8.4 HTML5 解析边界。377 收藏 -
quoted_printable_decode 只还原传输编码字节,不会自动识别 charset 或转成 UTF-8。本文说明单个 MIME 文本部分的显式字符集转换、输入限制、纯文本输出和失败留存方法。377 收藏 -
PHP 会把符合规则的数字字符串数组键转换为整数,导致表单、JSON 和批量数据的键类型不一致。本文用可复现示例拆开转换边界,并给出校验与修复方法。376 收藏