-
说明 Composer autoload-dev 与 require-dev 的区别,通过独立测试命名空间示例介绍开发加载配置、--no-dev 生产安装,以及根包规则和发布文件边界。
-
PHP session.use_strict_mode 默认关闭,开启后会拒绝存储端不存在的未知会话 ID,并向浏览器发送新的 ID。本文说明配置时机、Cookie 配置和自定义 session handler 的 validateId/validate_sid 边界。
-
PHP password_get_info 用来读取已有密码哈希的 algo、algoName 和 options。本文说明怎样安全读取 cost 等算法参数,并区分元数据查看、密码验证与 password_needs_rehash 的升级判断。
-
PHP 导出 CSV 时不要用 implode 直接拼接字段。使用 fputcsv 让包含逗号、双引号和换行的字段自动加包围符,并显式把 escape 设为空字符串,避免 PHP 专有转义机制影响标准 CSV 兼容性。
-
PHP 日期解析不能只看 DateTimeImmutable 对象是否创建成功。结合 createFromFormat 和 getLastErrors,可以分别读取 warnings、errors,并兼容 PHP 8.2 之后无错误时返回 false 的情况,拦截 2026-02-30 这类自动进位输入。
-
通过箱件数量接口示例,讲解 JSON_THROW_ON_ERROR 与 JsonException 的统一处理方式,区分合法 null、解析异常、输入超限及业务字段错误,并说明审计记录和深度参数的边界。
-
PHP mb_strtolower 适合对 UTF-8 等多字节文本做 Unicode 小写转换。中文本身没有大小写变化,关键是显式指定编码、区分 strtolower 与大小写折叠需求,并处理 mbstring 扩展和无效编码。
-
用 PHP filter_var 校验 URL 和邮箱时,应分别选择 FILTER_VALIDATE_URL 与 FILTER_VALIDATE_EMAIL,并严格比较返回值。本文还说明 URL 协议白名单、路径要求、ASCII 限制,以及邮箱语法通过不代表邮箱真实存在等边界。
-
PHP array_reduce 的关键不是自动分组,而是让回调持续返回新的累加器。本文用订单分类示例说明如何创建分组、追加重复分类,处理 initial、空数组和缺失字段,并给出可复制的 PHP 写法。
-
通过编码列与数量列示例,解释 PHP array_map 的多数组位置配对、返回键和缺项行为,并比较命名回调、null 打包与业务键关联的适用条件。
-
用 opcache_get_configuration 和 opcache_get_status 读出 interned_strings_buffer 的真实容量、已用空间与剩余空间,再按 FPM 实际配置完成可回滚调整。
-
PHP 8.4 起 fgetcsv 依赖 escape 默认值会触发弃用提示。本文说明如何显式传入空字符串兼容 RFC 4180,如何处理双引号与反斜杠字段,以及旧格式迁移时的边界。
-
PHP Composer 的 config.platform 会把 PHP 与扩展版本作为虚拟平台参与依赖解析,但不会改变本机运行环境。本文用 composer.json、check-platform-reqs、platform-check 和忽略参数说明解析阶段与生产运行阶段的边界。
-
排查PHP类型属性赋值触发TypeError的原因,区分写入位置的严格模式、空值与未初始化Error,给出正整数输入解析示例,并说明ORM水合与构造函数的边界。
-
PHP 8.4 的 pcntl_waitid 可以按 PID 或进程组等待子进程状态。本文用 PHP 示例说明 info、WEXITED、WNOHANG、WNOWAIT 的关系,以及 false、ECHILD、EINTR、EINVAL 的处理边界。