itwebmaster/json-attribute-behavior 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

itwebmaster/json-attribute-behavior

最新稳定版本:v1.0.0

Composer 安装命令:

composer require itwebmaster/json-attribute-behavior

包简介

Flexible Yii2 trait for working with JSON fields (dot-paths, validation schema, defaults, type casting, etc.)

README 文档

README

Удобный трейт для работы с JSON-полями в моделях Yii2.

Возможности

  • Автоматическое кодирование и декодирование JSON в полях ActiveRecord или Model
  • Удобный доступ к вложенным элементам JSON с помощью путей (строкой с точками или массивом ключей)
  • Легкое изменение вложенных значений
  • Утилиты для глубокого слияния массивов и конвертации плоских настроек в вложенные структуры

Установка

composer require itwebmaster/json-attribute-behavior

Использование

Добавьте трейт в свою модель и определите метод getJsonAttributes():

use itwebmaster\JsonAttributeBehavior\JsonAttributeBehaviorTrait;

class MyModel extends \yii\db\ActiveRecord
{
    use JsonAttributeBehaviorTrait;

    public function getJsonAttributes(): array
    {
        return ['settings', 'options'];
    }
}

Теперь ваши поля settings и options будут автоматически кодироваться/декодироваться в JSON при сохранении и загрузке.

Основные методы

  • getJsonAttr(string $attr, array|string|null $path = null, $default = null) — получить значение из JSON по пути

  • setJsonAttr(string $attr, array|string $path, $value) — установить значение по пути в JSON

Пример:

$model->setJsonAttr('settings', 'notifications.email', true);
$emailEnabled = $model->getJsonAttr('settings', ['notifications', 'email'], false);

Если хочешь, могу помочь добавить в трейт и валидацию JSON по схеме и другие твои пожелания.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2025-07-16