PHPackages                             itwebmaster/json-attribute-behavior - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. itwebmaster/json-attribute-behavior

ActiveYii2-extension[Parsing &amp; Serialization](/categories/parsing)

itwebmaster/json-attribute-behavior
===================================

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

v1.0.0(10mo ago)02BSD-3-ClausePHPPHP &gt;=7.4

Since Jul 16Pushed 10mo agoCompare

[ Source](https://github.com/itwebmaster/json-attribute-behaviour)[ Packagist](https://packagist.org/packages/itwebmaster/json-attribute-behavior)[ RSS](/packages/itwebmaster-json-attribute-behavior/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

JsonAttributeBehaviorTrait
==========================

[](#jsonattributebehaviortrait)

Удобный трейт для работы с 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 по схеме и другие твои пожелания.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance54

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

307d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/aecf24ebe0d7d4f7603c381638b0fca636367209e547770794292e2a44ffd4f1?d=identicon)[itwebmaster](/maintainers/itwebmaster)

---

Top Contributors

[![itwebmaster](https://avatars.githubusercontent.com/u/26245322?v=4)](https://github.com/itwebmaster "itwebmaster (1 commits)")

---

Tags

jsonschematraityii2Behaviorcastattribute

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/itwebmaster-json-attribute-behavior/health.svg)

```
[![Health](https://phpackages.com/badges/itwebmaster-json-attribute-behavior/health.svg)](https://phpackages.com/packages/itwebmaster-json-attribute-behavior)
```

###  Alternatives

[kdn/yii2-json-editor

JSON editor widget (josdejong/jsoneditor) for Yii 2.

22570.0k3](/packages/kdn-yii2-json-editor)[nizsheanez/yii2-json-rpc

A lightweight JsonRpc Server and Client for PHP

2034.0k](/packages/nizsheanez-yii2-json-rpc)[devgroup/yii2-jsoneditor

Yii2 jsoneditor widget

1199.6k1](/packages/devgroup-yii2-jsoneditor)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
