php教程技术文章
-
PHP Fiber::throw() 的关键不是从外部直接改写协程代码,而是在 Fiber 已挂起时,把 Throwable 重新交给当前 Fiber::suspend() 调用点。本文用一个可取消的协程调度场景说明挂起门槛、异常捕获、FiberError 和终止状态之间的关系。166 收藏 -
PHP 8.3 起可用 mb_str_pad 按 Unicode 字符数补齐中文等多字节字符串。本文说明右侧、左侧和两侧补齐的参数写法,以及多字符填充串、版本和显示宽度边界。166 收藏 -
PHP strpbrk 会返回从首个匹配字符开始的后缀;要取得匹配字符之后的字符串,应先判断 false,再用 substr 从偏移 1 截取。本文覆盖多分隔符、空参数、大小写和 PHP 8 的错误边界。164 收藏 -
PHP 8.5 将 PDO 驱动专属常量标记为弃用,本文按 MySQL、SQLite、PgSQL 等驱动整理替换代码、兼容边界与回归检查清单。162 收藏 -
PHP Composer 的 config.platform 会把 PHP 与扩展版本作为虚拟平台参与依赖解析,但不会改变本机运行环境。本文用 composer.json、check-platform-reqs、platform-check 和忽略参数说明解析阶段与生产运行阶段的边界。160 收藏 -
IntlDatePatternGenerator 的骨架描述所需日期字段,地区规则决定字段顺序和分隔符。本文用 PHP 示例说明模式生成、显示格式与缓存存储的分工。159 收藏 -
PHP stream filter 的方向与链顺序会影响字符转换。本文用 UTF-16LE 转 UTF-8 的内存流示例,说明先转码再做 ASCII 大写的原因,并区分缓冲和多字节边界。157 收藏 -
PHP Fiber 只负责暂停和恢复协作式任务,不会自动把 PDO 变成异步驱动。本文用任务级资源所有权、closeCursor 和 finally 收口数据库连接、结果集与事务。153 收藏 -
PHP PropertyAccess 读取缺失数据时,要区分对象属性、数组索引和可空中间对象。本文用 PropertyAccessor 配置、异常类型和 nullsafe 路径给出可落地的处理规则。151 收藏 -
文章 · php教程 | 2星期前 | 异常处理 · PHP · HTTP客户端 · php Symfony HTTP客户端 连接超时 httpclient 响应超时 max_connect_duration max_duration
PHP Symfony HttpClient 的 timeout、max_connect_duration 和 max_duration 解决的是不同等待问题。本文用最小示例说明如何分别限制建连、响应空闲和完整请求时长,并处理懒加载响应中的传输异常。148 收藏 -
PHP Transliterator 依靠 intl 扩展和 ICU 规则完成多语言音译。本文用 Any-Latin、Latin-ASCII、Lower() 组成规则链,说明对象创建、transliterate 返回值、start/end 局部范围和自定义规则的边界。144 收藏 -
PHP PDO 批量写入时,预处理语句负责参数绑定,事务负责把一批 execute 组织成可提交或可回滚的整体。本文给出统一 rollback、批次拆分和提交后重试的实现边界。143 收藏 -
session.lazy_write 会比较会话打开时与关闭时的序列化数据;内容未变时,默认 files 保存器只更新时间戳而不重写整段会话数据。本文解释数据生命周期、失效场景与自定义保存器要求。139 收藏 -
PHP 8.1+ 中,backed enum 可以把稳定的 string 或 int 值直接映射到 JSON 接口字段;本文说明响应序列化、请求回填、tryFrom 校验和 JsonSerializable 自定义输出的边界。139 收藏 -
PHP grapheme_strpos 按字素簇而非字节计算起点和返回位置。通过组合重音示例对比strpos与mb_strpos,并给出同单位截取、严格判断false和转换字节位置的写法。139 收藏