Go语言技术文章
-
PHP 方括号访问字符串时按字节处理,中文等 UTF-8 文本不能直接当作单字节字符数组使用。本文区分字节偏移与字符偏移,给出 mb_strlen、mb_substr、mb_strpos 和字符级封装的安全写法。103 收藏 -
PHP OPcache 预加载不是普通缓存开关,而是服务启动阶段把函数和类放入持久内存。本文从影响面、启动时间线、加载方式和重启边界说明怎样判断它是否适合你的常驻 PHP 进程。452 收藏 -
PHP Composer 的依赖解析会把 PHP、扩展和 Composer API 当作平台包。本文用生产 PHP 版本不一致的场景,说明如何配置 config.platform、生成 composer.lock,并在部署前检查真实平台。271 收藏 -
PDO 事务异常应由独占事务所有者捕获 Throwable,检查活动状态后尝试回滚,并保留原异常传播。示例区分开始、提交和清理失败,说明隐式提交与连接中断时的限制。474 收藏 -
PHP PDO 批量写入时,可以复用一条预处理语句,再为每一行绑定不同参数。本文比较 bindValue、bindParam 和 execute 参数数组,说明参数类型、空值以及事务提交回滚的边界。476 收藏 -
PHP json_decode 默认可能把 JSON 大整数解码为浮点数,订单号、雪花 ID 等标识就可能失去精度。本文说明 JSON_BIGINT_AS_STRING 的使用边界,并组合 JSON_THROW_ON_ERROR 处理解析失败。264 收藏 -
CSV 字段内部可以包含换行,但前提是字段被 enclosure 正确包住。本文用 PHP fgetcsv 说明如何显式设置参数、保留多行字段,并排查 length、引号闭合和 PHP 8.4 escape 提醒。440 收藏 -
PHP stream_select 的 seconds 和 microseconds 只约束一次等待;循环若要遵守总超时,应保存截止时间,每轮重新计算剩余微秒并重建监听数组。本文用基线对比说明如何处理返回值、集合改写和边界条件。361 收藏 -
PHP Generator 可以用 yield 把大文件读取拆成惰性批次:每次只保留当前数据,消费端提前停止时释放最后一个生成器引用,并在 finally 中关闭文件句柄。本文给出 CSV 批量读取、尾批次、异常和资源清理的完整写法。223 收藏 -
PHP finally 会在 try 或 catch 的 return 之后执行。本文用临时文件句柄示例说明如何在 finally 中安全 fclose,并避免清理代码覆盖返回值或吞掉异常。357 收藏 -
讲清 PHP PDO 处理可变长度 IN 查询时的占位符生成、数组绑定、空数组策略和参数边界。174 收藏 -
PHP Attribute 可以把参数字段名、必填性等稳定描述放在声明旁边,再由 ReflectionParameter 读取。本文用参数目标限制、getAttributes 筛选、getArguments 与 newInstance 的边界,说明它适合解决什么问题,以及为什么不应把它当成自动校验器。463 收藏 -
通过 Fiber::suspend、resume 和 throw 理解 PHP Fiber 如何暂停深层调用栈,并用生命周期状态和 finally 处理恢复、异常与资源清理。185 收藏 -
后端接口还在开发时,可以在 Postman 集合中保存请求与响应示例,再据此创建 Mock Server。本文按操作路径说明示例保存、响应编辑、Mock 创建和返回结果核对,帮助前端先按稳定数据结构联调。496 收藏 -
以 IntelliJ IDEA Java/Gradle 项目为例,按准备、项目 SDK 选择、模块继承和 Gradle JVM 确认的顺序固定 IDE 内环境,说明版本记录、导入来源及命令行和 CI 不会自动随之锁定的限制。465 收藏