php教程技术文章
-
用 Monolog 的 Logger、Handler 和日志级别把 PHP 业务日志与错误异常分层输出,同时控制 bubble、敏感字段、PHP 诊断入口和日志权限。196 收藏 -
PHP Composer 的 config.platform 只改变依赖解析时看到的平台版本,不能证明生产环境真的满足要求。本文用 composer.json、composer update 与 check-platform-reqs 拆开迁移检查,帮助确认目标 PHP 和扩展是否可以发布。137 收藏 -
PHP stream_filter 可以把多个过滤器串成读取链。本文说明 php://filter、stream_filter_append() 与 stream_filter_prepend() 的顺序、方向、失败返回值和资源关闭方式。423 收藏 -
PHP DOMDocument 读取不可信 XML 时,真正需要控制的是外部实体加载、实体替换和网络访问三个边界。本文给出兼容 PHP 8.x 的解析入口,并解释 LIBXML_NOENT、LIBXML_NONET、LIBXML_NO_XXE 与自定义实体加载器的组合关系。347 收藏 -
PHP str_increment 可递增数字字符串并保留未被转换丢失的前导零。本文说明返回值、进位扩宽、ASCII输入限制与旧运行时的处理边界。355 收藏 -
本文说明 PHP str_getcsv 怎样解析字段内的分隔符和双引号,如何显式设置 separator、enclosure、escape,以及 PHP 8.4 下怎样避免依赖默认 escape 参数。356 收藏 -
PHP DateTimeImmutable 直接加一个月时,月末日期可能溢出到下个月。本文用代码说明默认规则,并给出 last day of、DateInterval、不可变对象和边界测试的处理方法。280 收藏 -
PHP OPcache 预加载需要让完整版本、启动配置与进程生命周期保持一致。本文说明版本落盘、入口配置、新旧进程与回滚的部署顺序和限制。497 收藏 -
本文用 PHP Intl NumberFormatter 说明怎样按 locale 输出普通数字、货币和百分比,怎样设置小数位与舍入规则,以及如何处理格式化失败。351 收藏 -
PHP SplPriorityQueue 默认只提取数据。本文用一个任务调度小工具说明怎样设置 EXTR_BOTH,同时读取 data 与 priority,并区分 top、current、extract 的行为边界。420 收藏 -
PHP get_mangled_object_vars 会返回对象的各层级属性,但私有属性键会带声明类名,保护属性带星号,前后还有 NUL 字节。本文用一个对象检查场景说明键名解析、未初始化类型属性排除与兼容边界。239 收藏 -
用 PHP SplFileObject::fgetcsv 读取 CSV 时,空行可能表现为单个 null 字段,文件结束则应按 false 或迭代状态处理。本文给出显式参数、flags 选择和排查边界。385 收藏 -
PHP IntlGregorianCalendar 可以用 setGregorianChange 设置公历切换时间,用 getGregorianChange 读取当前时间戳。本文比较三种创建方式,并说明时区、locale、Unix 时间戳和返回值的使用边界。273 收藏 -
PHP grapheme_extract 可以按 UTF-8 默认字素簇截取文本。本文把旧的字节截取风险、GRAPHEME_EXTR_COUNT、offset 与 next 的用法放在同一条迁移路径中,并给出可回归的边界检查清单。371 收藏 -
PHP IntlChar::charAge 返回单个 code point 首次被指定或分配的 Unicode 版本。本文区分字符 age 与当前 ICU 版本,演示整数和 UTF-8 参数、四位数组、null 失败边界,以及如何把版本筛选封装成可维护的 PHP 函数。394 收藏