分类: Yii 2
-
本文解决了在 Yii 2 中基于 Hprose 实现 RPC 服务时报错 passthru() has been disabled for security reasons 的问题。本地环境接口请求成功,但开发环境请求失败,排查后发现是 PHP 配置限制了该函数。通过编辑客户端与服务端的 Dockerfile,从 disable_functions 配置项中删除 passthru,重新部署后再次请求接口,响应成功恢复正常。
-
本文针对基于 yiisoft/yii2-app-advanced 框架的 RESTful API 接口应用,分析了其默认支持 application/x-www-form-urlencoded 和 multipart/form-data 输入格式的现状,并解决了 application/json 格式下数据验证失败的问题。通过配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser,成功实现了对 JSON 输入格式的支持,使接口能够正确处理并转换原始 HTTP 请求主体。
-
本文探讨了在公有云环境下,基于 Yii 2 框架实现多租户逻辑隔离的方法。通过在数据库表中设置租户ID字段,并自定义活动查询类,系统在每次查询时默认添加租户ID条件。文章详细介绍了模型类继承结构、规则调整过程及 SQL 语句优化,最终验证了该方案能有效实现数据隔离并避免查询条件重复。
-
本文基于 yii2-app-advanced 模板新建接口应用,利用 yii2tech 扩展实现 ActiveRecord 软删除。通过数据库迁移调整用户状态字段,配置行为类将删除操作转为状态标记,利用 Gii 生成 ActiveQuery 并自定义查询类以层级继承方式过滤数据,最终实现了 RESTful 接口下符合预期的数据增删改查及软删除逻辑。
-
本文基于 yii2-app-advanced 项目新建接口应用,将数据库字符集调整为 utf8mb4 并配置 RESTful 风格的响应格式。针对开发环境出现的数据库索引长度报错问题,分析了 MySQL 版本差异导致的限制,通过启用 Innodb_large_prefix 参数并修改迁移文件解决了该故障。文章还实现了请求日志记录功能,配置了忽略 GET 请求的规则,并完成了支持筛选功能的日志列表与详情接口。
-
本文介绍了在 Yii 2 框架中使用 HTTP 客户端扩展的处理过程。通过在应用组件配置文件中设置 requestConfig,将所有请求格式统一指定为 JSON,从而替代了在业务代码中单独调用 setFormat() 方法的繁琐操作。经过代码精简与配置优化,最终的调试数据验证了请求头已正确设置为 application/json 格式,接口响应结果符合预期。
-
在 Yii 2.0 中使用 updateAll() 方法将表列值更新为同一表另一列的值时,直接使用查询构建器会导致 prev_status 被错误更新为 0。为解决该问题,引入 yii\db\Expression 对象来表示不需要转义或引用的数据库表达式,最终成功生成了符合预期的 SQL 语句,实现了将 prev_status 更新为 status 的值并将 status 设为 4 的操作。
