月度归档: 2022 年 4 月
-
在 Laravel 6 和 Lighthouse 5 环境下,使用 @rules 指令应用 exists 验证规则时,自定义属性名无法按语言区域正确翻译,导致返回的验证消息中包含原始字段名而非本地化名称。经过排查,排除了 nwidart/laravel-modules 版本及语言文件位置的影响,确认原因在于 Lighthouse 5 对验证属性的支持不够彻底。目前决定暂不编写自定义验证器类,暂时接受在非英语环境下属性名未被完全翻译的现状。
-
针对在 Laravel 6、LightHouse 5 和 PHPUnit 环境中编写 Mutation 测试时需要删除缓存数据的需求,文章参考了 REST API 测试中先操作数据库再请求删除的思路。通过调整测试策略,先直接操作缓存生成明确的缓存标识,随后执行 HTTP API 请求进行删除操作。实际运行结果显示,该方案成功通过测试,实现了对删除缓存标识 Mutation 的有效验证。
-
本文介绍了在 Laravel 6 结合 Lighthouse 5 及模块化架构下,为 GraphQL API 创建自定义验证规则的过程。通过在模块中生成规则类,编写逻辑判断缓存标识是否存在,并在 Schema 文件中使用 @rules 指令引用该规则,实现了验证逻辑的复用。文章还详细说明了如何配置模块内的多语言文件以返回本地化错误消息,最终完成了包含中英文错误提示的接口功能测试。
-
在 Windows 10 环境下使用 Laravel 6 操作缓存时,因 Predis 可能被弃用而选择使用 PhpRedis PHP 扩展。配置 .env 驱动后运行报错提示未安装扩展,遂从 PECL 下载适配 PHP 7.4 TS x64 的 redis 5.3.7。将 php_redis.dll 复制到扩展目录并修改 php.ini 启用,重启服务后通过 phpinfo 确认成功。最终首页顺利获取到缓存值,且在 Redis 数据库中验证了存储结果符合预期,同时需注意解决类命名冲突问题。
-
本文介绍了在 Laravel 6 中使用 Blade 模板创建组件与插槽的方法。通过编写可复用的 alert 组件文件,配置路由及新建模板文件,实现了组件的定义与调用。最终通过查看网页源代码确认了渲染结果符合预期。
-
在 Laravel 6.20.43 与 Lighthouse 5.45.0 环境下遇到类 ClearsSchemaCache 已弃用的问题,该类原用于在测试前清除模式缓存。查阅文档后,决定将其替换为 RefreshesSchemaCache 类。编辑指定模块的测试文件并完成代码替换后,重新运行测试并通过验证。
-
本文介绍了在 Laravel 6 结合 Module 与 Lighthouse 框架中实现安全验证的具体流程。通过使用 @rules 指令应用 Exists 规则,针对请求参数 themeId 进行是否存在的数据表校验。经过测试验证规则有效,并利用 Laravel Telescope 查看 SQL 语句。同时验证了该规则会自动读取表前缀,当前缀变更时验证依然生效,无需额外调整。
-
在执行 composer install 时遇到 Class Pine\BladeFilters\BladeFilters not found 报错,手动编辑 composer.json 添加依赖后,提示 Key conedevelopment/blade-filters is a duplicate 且警告 Lock 文件未更新。根据警告信息执行 composer update conedevelopment/blade-filters 更新锁定文件后,再次运行 composer install 即可解决报错并顺利完成安装。
-
在执行 npm run build 命令时遇到了报错提示 Missing script: build,经过检查 package.json 文件,发现 scripts 配置中并未包含 build 脚本。根据报错提示运行 npm run 查看可用脚本列表,确认该项目支持 npm run dev 和 npm run prod。最终执行 npm run dev 成功完成了运行。
-
针对 Windows 10 系统内存占用持续超过 95% 但任务管理器无明显高占用进程的问题,经过排除注册表 NDU 设置及常规清理无效后,最终通过卸载 Heroku 软件解决了该故障。排查发现非分页缓冲池存在内存泄漏现象,卸载 Heroku 并重启电脑后,内存占用显著降低至 70% 左右,证实该软件占用了约 4GB 内存。长期运行测试显示系统内存占用恢复稳定。
