分类: Web应用开发
-
针对在 PhpStorm 和 Laravel 6 环境中出现的 Laravel Idea 模块系统切换提示,本文记录了解决过程。参考官方文档可知,Laravel Idea 利用模块系统概念优化视图、配置及路由的代码补全与生成。因项目当前依赖 nWidart/laravel-modules 包,最终在设置中切换至该选项,并在操作后执行了使缓存失效并重启,从而成功完成模块系统的配置。
-
在 Laravel 6 项目中遇到 Target [Interface] is not instantiable 报错,经排查发现 ThemeStoreServiceProvider.php 文件中 use 路径引用错误,删除多余的 Theme\ 路径后解决类未定义问题。随后执行 php artisan list 再次报错,提示目标类 SyncCommand 不存在,检查确认该类路径下无文件后,删除了 ServiceProvider 中相关的调用代码,最终命令执行成功。
-
本文针对模板文件的验证规则与文件大小限制进行了分析。通过测试 Shopify 和 WordPress 后台上传不同大小文件的响应情况,发现前者受 Nginx 设置及文件内容长度限制,后者在超过特定阈值时返回 502 错误。基于实际测试结果与现有文件大小的统计,最终制定了 Assets 目录限制 10 MB、Locales 目录限制 2 MB、其他目录限制 512 KB 的规范。
-
文章针对PHP中实现文件路径名的安全验证问题进行了探讨。通过测试不同格式的请求参数,分析了新增文件成功与失败的原因,最终整理出包含前缀目录白名单、剥离目录后校验纯文件名以及扩展名白名单的验证规则。文章详细介绍了利用POSIX标准限制非法字符的实现难点,并指出当前方案对多语言字符及操作系统保留文件名的过滤存在不足。
-
本文介绍了在 Laravel 6 结合 Lighthouse 和 Module 框架下实现请求参数安全验证的流程。针对包含多条复杂规则的变更操作,通过创建专门的验证器类来处理诸如数据库记录存在性、路径格式、后缀名限制及数据唯一性等校验需求,并将其从应用目录迁移至 Module 模块中。最终在 GraphQL 文件中使用 @validator 指令指定该类,经测试确认验证规则有效且 SQL 语句执行正常。
-
文章以在 Shopify 创建资源为例,记录了从 REST 迁移到 GraphQL 的实践过程。由于 GraphQL 未提供创建模板文件的 API,作者参考 productCreate 接口进行了尝试。通过在后台手动添加产品并复制网络请求参数,解决了因 GraphQL 版本不一致导致字段不匹配的问题。经过多次修正查询与变量结构,最终成功创建了产品,并总结了请求与响应的最终结构及报错处理方式。
-
本文参考了 GitHub 的迁移思考,在从 REST 迁移到 GraphQL 的过程中,模仿 Shopify 的产品与图片列表结构,构建了适用于模板文件的响应格式。文章将顶级目录映射为产品,将目录下的模板文件列表映射为产品的图片列表,通过这种方式实现了嵌套的列表结构。最后根据业务需求,移除了冗余字段,仅保留必要的 key 字段,优化了最终的响应结构。
-
在 Laravel Telescope 中页面一直处于 Scanning… 状态,查看网络请求发现 Table ‘object_store.telescope_entries’ doesn’t exist 错误。通过运行 migrate 命令执行数据库迁移后,刷新页面响应状态码变为 200,页面显示恢复正常。
-
本文记录了使用 Altair GraphQL Client 请求 Shopify GraphQL Admin API 的过程。通过创建自定义应用并配置权限获取访问令牌,随后在 Altair 中设置请求头及端点进行查询。测试发现,试用期商店在 Altair 中响应 404 并跳转至登录页,而正式商店返回 200,对比 Postman 和 Git Bash 均能正常请求,初步判断问题与 Altair 在试用期环境下的手动登录交互有关。
