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
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2025-07-16