php教程技术文章
-
本文详解为何基于 jQuery 的复选框文本排序脚本在 Smarty foreach 循环渲染后失效,并提供可靠、兼容 Cyrillic 字符的 DOM 排序方案,避免重复元素与乱序问题。 本文详解为何基于 jQuery 的复选框文本排序脚本在 Smarty `foreach` 循环渲染后失效,并提154 收藏 -
用一个可复现的 PHP Fiber 示例排查 start、suspend、resume 和 getReturn 的状态边界,避免重复恢复与未完成读取。149 收藏 -
PDOStatement::fetchColumn() 读取单列很方便,但 0、NULL、false 和无结果分别代表什么,不能靠 if 判断猜。本文用 PHP PDO 查询场景拆开返回值边界,并给出行存在性、空值和布尔字段的验收写法。147 收藏 -
文章 · php教程 | 2个月前 | Redis · 迁移 · session · php教程 · 登录态 · redis session phpredis PHP教程 session.save_handler 分布式登录 回归检查
围绕 PHP Session 从本机文件迁移到 Redis 的过程,梳理旧架构风险、配置变更、锁等待、TTL 清理、内存水位、回滚开关和上线回归检查。145 收藏 -
本文讲解在 Lara vel 中从数据库查询结果中提取纯整数(如 100)而非对象或 JSON 字符串的方法,重点解决 select('price')->get() 返回集合后如何安全获取原始整数值的问题。 本文讲解在 Lara vel 中从数据库查询结果中提取纯整数(如 100)而非对象或 JSO138 收藏 -
PHP 表单校验失败时,不要只返回一条错误信息。本文用服务端校验、字段级错误、旧输入回填和可访问提示,整理一套更友好的表单处理方式。134 收藏 -
文章 · php教程 | 1星期前 | 反射 · attribute · php教程 · PHP 8 · 代码验收 · php ReflectionClass Attribute ReflectionAttribute getAttributes isRepeated
PHP 8 的 Attribute 读取不是简单遍历字符串:ReflectionClass::getAttributes() 的名称过滤、ReflectionAttribute::IS_INSTANCEOF、isRepeated()、getArguments() 和 newInstance() 分别解决不同的验收问题。本文用一个可运行的注解扫描器拆开继承筛选、重复声明和参数校验边界。134 收藏 -
处理日志或导入文件时,stream_filter_append 可以把换行规范化放进流读取链,避免一次性读入大文件。本文用可复查的代码说明过滤器注册、读取边界、资源关闭和内存检查。134 收藏 -
文章 · php教程 | 4天前 | php教程 · PHP会话 · SessionHandlerInterface · 数据库存储 · PHP会话 session_set_save_handler SessionHandlerInterface 数据库会话
把 PHP 会话从默认文件存储切到数据库时,真正容易出错的是回调顺序、原始序列化字符串和 gc 清理边界。本文用 SessionHandlerInterface 完成一套可核对的写入、读取、销毁与过期回收流程。134 收藏 -
文章 · php教程 | 1星期前 | 日志 · CLI · 异常处理 · PHP · 进程验收 · Throwable 退出码 register_shutdown_function 命令行脚本 PHP CLI
PHP CLI 脚本明明抛出了异常,shell 或 CI 却拿到 0,通常不是 PHP 没有报错,而是异常、致命错误和 shutdown 回调被混在了一条观测链里。本文从命令行任务现场出发,拆开 Throwable、register_shutdown_function 与退出码的关系,并给出可复现的日志验收方法。133 收藏 -
从业务负载、连接边界和故障恢复三个角度,说明 PHP PDO 持久连接的适用条件,并给出可回滚的事务与断线重连示例。132 收藏 -
文章 · php教程 | 1个月前 | 重定向 · PHP · 后端开发 · PHP 8.5 · URL安全 · URL规范化 PHP 8.5 URI扩展 重定向白名单 Uri\Rfc3986\Uri
PHP 8.5 新增内置 URI 扩展,可按 RFC 3986 和 WHATWG URL 标准解析、规范化并修改地址。以登录回跳为例,本文给出基于 Uri\Rfc3986\Uri 的 scheme 与 host 白名单写法、旧 parse_url() 方案的边界,以及上线前的兼容性检查。130 收藏 -
PHP 的 TCP 探活不该只看一个布尔值。本文用 stream_socket_client() 拆解 DNS、连接超时、端口拒绝、上下文参数和日志归因,给出可回归的最小检查器。130 收藏 -
PHP stream_select 适合把多个非阻塞流放进同一等待循环。本文用 socket_pair 演示读写集合、超时返回值、EOF 与部分写入的判断,解释为什么每轮必须重建数组,避免 CPU 空转。128 收藏 -
文章 · php教程 | 4天前 | php教程 · 安全边界 · DOMDocument · XML解析 · php XML安全 DOMDocument LIBXML_NONET LIBXML_NO_XXE
用 PHP DOMDocument 解析不可信 XML 时,关键不是简单关闭一个开关,而是控制加载选项、保留解析错误并验证输入边界。本文对比 LIBXML_NONET、LIBXML_NO_XXE 与外部实体加载器的适用场景。128 收藏