php教程技术文章
-
PHP Fibers 保存可挂起的调用栈,需要明确调用方或调度器恢复,不等于线程并行。本文用嵌套计算示例区分挂起值、恢复值与最终返回,说明阻塞I/O和清理边界。472 收藏 -
文章 · php教程 | 1星期前 | 工程实践 · php教程 · php redis Symfony Cache 缓存标签 TagAwareCacheInterface invalidateTags
Symfony Cache 的标签失效适合处理一个业务对象对应多个缓存键的场景。本文从直接删除、标签失效与 TTL 的边界出发,说明怎样设计标签、配置 TagAwareCacheInterface,并把失效动作放到稳定的写路径中。175 收藏 -
PHP password_hash 的 cost 不宜照抄别人的数字。本文用一个小型登录模块说明如何在接近生产的机器上选择 bcrypt cost,并把 password_verify 与 password_needs_rehash 接入渐进升级流程。100 收藏 -
用 PHP DateTimeImmutable 处理跨时区时间时,关键是显式传入 DateTimeZone,并接住 setTimezone 和 modify 的返回值。本文从瞬时时刻、显示时区、输入边界和不可变对象传递说明怎样隔离时区副作用。409 收藏 -
PHP PDO 动态 IN 查询应为每个值生成独立占位符,再按类型绑定。本文以多选筛选说明空列表、整数ID、参数位置、租户权限与大列表边界,提供原创查询函数。372 收藏 -
文章 · php教程 | 1星期前 | 队列 · PHP · 并发控制 · laravel · php教程 · php Laravel Laravel Queue ShouldBeUnique WithoutOverlapping 队列锁 任务幂等
Laravel 队列避免任务重复执行,不能只依赖一个模糊的全局锁。本文区分重复入队与执行重叠,分别用 ShouldBeUnique 和 WithoutOverlapping 保护业务键与共享资源,并说明 releaseAfter、tries、expireAfter 和共享缓存的配置关系。465 收藏 -
用 Symfony Messenger 配置退避重试和 failure transport,查看、人工重试失败消息,并用异常分类与幂等处理降低重复消费风险。333 收藏 -
通过Symfony VarDumper的caster为订单对象定义三个只读摘要字段,说明虚拟属性、配置范围及debugInfo与序列化的区别,避免完整属性树带来的展示噪声。446 收藏 -
Symfony Yaml 解析多行字符串时,最容易混淆的是 | 与 > 的换行语义,以及缩进和未加引号值的类型识别。本文用 PHP 示例说明如何稳定处理多行文本、日期样式和生成配置。276 收藏 -
PHP OptionsResolver 用 setAllowedTypes() 限制选项类型,用 setAllowedValues() 限制枚举或闭包业务规则;继承配置时用 addAllowedTypes() 和 addAllowedValues() 保留父类范围。本文给出组合写法、Symfony 7.3+ 联合类型边界和 InvalidOptionsException 排查方法。114 收藏 -
区分Symfony ULID、UUIDv4与UUIDv7的时间排序语义,说明同毫秒与跨进程限制,并给出PHP对象比较、存储表示及业务时间游标分页的设计示例。213 收藏 -
PHP PropertyAccess 读取缺失数据时,要区分对象属性、数组索引和可空中间对象。本文用 PropertyAccessor 配置、异常类型和 nullsafe 路径给出可落地的处理规则。151 收藏 -
Symfony UID 可以把 RFC 4122 UUID 字符串解析为对象,再通过 toBinary() 得到固定 16 字节值交给 Doctrine 或数据库保存。本文说明接口字符串、Uid 对象和 BINARY(16) 字段如何分工,以及手写查询时怎样绑定二进制参数。258 收藏 -
PHP PropertyAccess 通过属性路径读取嵌套对象时,可以用点号连接对象属性、用方括号进入数组,并用问号安全穿过可空节点。本文从对象图、getter 优先级、异常配置和 isReadable 判断说明落地写法。368 收藏 -
Symfony Process 的总超时限制进程累计运行时间,空闲超时限制距上次输出的连续沉默时间。本文用配置示例和输出边界说明两者如何组合。188 收藏