分类: Yii 2
-
针对 Yii 2.0 中 RESTful API 跨域请求失败及响应 404 的问题,通过在本地构建 Ajax 请求示例排查,参考官方指南将 Cross-Origin Resource Sharing 过滤器添加到控制器。调整前端请求头,将 Content-Type 从 application/json 改为 application/x-www-form-urlencoded 后,服务端成功接收请求数据并返回 200 状态码,解决了跨域资源共享问题。
-
文章记录了在 Yii 2.0 框架中使 RESTful API 的资源详情接口同时支持 GET 与 POST 请求的过程。针对 POST 请求返回 404 和 405 错误的问题,先后调整了路由配置并覆盖了控制器中的 verbs 方法以添加对 POST 动词的支持。最终实现了通过两种 HTTP 动词成功获取指定资源详情并返回 200 状态码。
-
执行 composer update 时提示 Package codeception/base is abandoned,由于 Yii 2 高级项目模板已不再依赖该包,通过对比官方仓库的配置文件修改本地 composer.json,使其与官方保持一致。再次执行更新命令后,开发依赖项升级完成,废弃提示消失。
-
本文介绍了在 Yii 2.0 控制台命令行中为动作方法添加租户 ID 参数的实现过程。通过设置参数默认值并进行非空校验,确保其在指定集合中存在。文章详细阐述了基于同步时间对数组进行排序,以及将指定租户 ID 调整至数组首位的逻辑处理,最终通过打印排序前后的数组验证了代码符合预期。
-
针对 Yii 2.0 中 Redis ActiveRecord 出现主键 ID 重复的问题,经排查发现是由用于存储索引的 Redis 键值重复导致。通过本地环境复现,确认该组件无法确保主键 ID 唯一性。最终决定放弃插入操作,仅执行更新逻辑,若 Redis 中记录不存在则响应 404,以此防止新数据产生重复,而对于已有的重复数据则需手动处理。
-
针对 Yii 2.0 中配置多个数据库连接组件的场景,文章介绍了通过将迁移文件存放到不同目录来实现管理的策略。以 db 和 statDb 为例,需分别指定对应的控制台迁移目录,并在生成迁移文件时使用特定路径参数。随后通过命令行工具将各自目录下的脚本提交至对应的数据库组件,最终验证了迁移历史记录符合预期。
-
本文探讨了在 Yii 2.0 中配置多个数据库应用组件时 Gii 的代码生成流程。文章指出,当选择非默认数据库连接 ID 时,表名下拉列表仅显示对应的表,生成的模型文件会包含 getDb() 方法;而选择默认数据库 ID 时,初始可能无法显示表列表需手动填写,且生成的模型不包含 getDb() 方法。此外,执行预览或生成操作后,默认数据库的表列表即可正常显示。
-
本文记录了将 /vendor 目录加入 Git 仓库以配合 Docker 部署的排查过程。起初因删除 composer install 导致 Rancher 启动失败,经分析发现 vendor 目录下存在 .git 子目录阻碍了文件提交。通过删除 .git 目录并重新提交,同时使用 composer install –no-dev 优化依赖,最终解决了迁移命令报错问题,并将 Jenkins 构建时间大幅缩短。
-
为了解决一次发布需分别调用多个渠道接口的问题,文章探讨了在 Yii 2.0 中实现一键多渠道发布的方案。对比了控制器内部调用与 HTTP 调用两种方式后,因架构隔离和安全限制,最终决定采用内部 HTTP 调用方案。通过修改控制器过滤器、编写服务类及 HTTP 模型类,实现了任务组的批量同步发布。经日志与数据库验证,该方案成功完成了对企鹅号、微信等渠道的批量写入,符合预期。
