php教程技术文章
-
PHP Generators 可用 fetch 与 yield 提供数据库惰性行序列,但不能自动关闭驱动缓冲。本文明确已执行语句的接口契约,演示 PDO_MYSQL 非缓冲读取、逐行消费和 finally 游标释放,并解释提前结束与重复遍历的边界。496 收藏 -
说明 PHP str_word_count 使用 format=2 返回英文单词位置索引的方法,区分单词序号与字符串偏移,并补充 characters 参数、PHP 8 异常和多字节文本边界。492 收藏 -
区分 PHP preg_match 的未命中与执行失败,使用 preg_last_error_msg 和错误码保存即时诊断,按 UTF-8、回溯、递归及 JIT 错误选择处理方案。492 收藏 -
文章 · php教程 | 1天前 | 错误处理 · php教程 · 日期时间 · php error Warning 日期解析 DateTimeImmutable DateTime::getLastErrors
PHP DateTime::getLastErrors 用来读取日期字符串解析过程中的 warning 和 error。本文结合 DateTimeImmutable::createFromFormat,说明如何区分 false、日期溢出和 PHP 8.2 起的 false 空结果,并按字符位置定位问题。455 收藏 -
PHP IntlChar::enumCharNames() 按起始码点(含)到结束码点(不含)枚举已分配 Unicode 字符名称。本文说明回调参数、名称类型、输出计数与失败边界,并给出可直接改造的 PHP 示例。452 收藏 -
PHP backed enum 适合把有限状态映射为可持久化的字符串或整数。本文从字段契约、写入、读取、未知值处理和迁移边界出发,整理一套可复用的 PDO 映射方案。452 收藏 -
PHP IntlTimeZone::getRegion() 可以根据 IANA 时区 ID 查询地区代码。本文用 PHP 示例说明如何区分成功字符串与 false,如何做白名单映射,以及为什么必须保留原始时区 ID。446 收藏 -
围绕 PHP Fiber::throw()、Fiber::suspend() 与 try/catch/finally,说明异常注入位置、清理执行顺序、FiberError 边界以及 finally 再抛错时的 previous 异常链。441 收藏 -
用 PHP backed enum 约束数据库状态值,示范 PDO 读取时使用 tryFrom、可信值使用 from,以及写入时保存稳定的 value,并说明历史未知值和新增状态的处理边界。424 收藏 -
对比 PHP Normalizer 的 FORM_D 与 FORM_KD,说明规范等价、兼容等价和重音标记的区别,并给出原文保留、比较键及查询规则的实现取舍。413 收藏 -
PHP preg_replace_callback_array 用模式到回调的关联数组组织多种正则替换。本文从文本规范化场景出发,说明模式顺序、替换结果传递、limit/count、数组 subject、未匹配和错误返回值,并比较连续调用与单回调的取舍。413 收藏 -
PHP 的 soundex 返回固定四字符键,metaphone 返回可变长度键且可用 max_phonemes 控制音素上限。本文从结果形态、检索选型、版本化切换和运行期排查说明两者的使用边界。412 收藏 -
PHP fputcsv 遇到带换行的字段时,关键是让函数负责 enclosure,并让读写双方显式使用相同的 separator、enclosure、escape 和 eol。本文给出临时流排查和多行字段往返处理边界。410 收藏 -
用 PHP stream_filter_append 把编码转换放进输出流,配合 stream_copy_to_stream 增量处理大文件,并说明读写方向、错误检查和不适用边界。398 收藏 -
文章 · php教程 | 2小时前 | php教程 · 元数据 属性 Attributes PHP 8 ReflectionClass ReflectionMethod ReflectionAttribute
PHP 8 属性要通过 Reflection API 读取:ReflectionClass 或 ReflectionMethod 的 getAttributes() 会返回 ReflectionAttribute,再按需调用 getArguments() 或 newInstance() 获取自定义元数据。本文用类级和方法级 Route 示例说明完整写法、空结果、目标限制与实例化边界。395 收藏