PHPackages                             pozitronik/yii2-dynamic-attributes - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. pozitronik/yii2-dynamic-attributes

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

pozitronik/yii2-dynamic-attributes
==================================

Dynamic attributes for yii2 models

1.1.13(3y ago)058[3 issues](https://github.com/pozitronik/yii2-dynamic-attributes/issues)GPL-3.0PHPPHP &gt;=8.0

Since May 4Pushed 3y ago1 watchersCompare

[ Source](https://github.com/pozitronik/yii2-dynamic-attributes)[ Packagist](https://packagist.org/packages/pozitronik/yii2-dynamic-attributes)[ RSS](/packages/pozitronik-yii2-dynamic-attributes/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (16)Versions (26)Used By (0)

yii2-dynamic-attributes
=======================

[](#yii2-dynamic-attributes)

Динамические атрибуты для ActiveRecord-моделей.

[![GitHub Workflow Status](https://camo.githubusercontent.com/2a1608773ddcf7500dbbbe3e046203a63009c3ab328dd804d8904e64eb2b9f75/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f706f7a6974726f6e696b2f796969322d64796e616d69632d617474726962757465732f434925323077697468253230506f737467726553514c)](https://camo.githubusercontent.com/2a1608773ddcf7500dbbbe3e046203a63009c3ab328dd804d8904e64eb2b9f75/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f706f7a6974726f6e696b2f796969322d64796e616d69632d617474726962757465732f434925323077697468253230506f737467726553514c)

Установка
---------

[](#установка)

Предпочтительный вариант установки расширения через [composer](http://getcomposer.org/download/).

Выполните

```
php composer.phar require pozitronik/yii2-dynamic-attributes "^1.0.0"

```

или добавьте

```
"pozitronik/yii2-dynamic-attributes": "^1.0.0"

```

В секцию require файла `composer.json` в вашем проекте.

Миграции
--------

[](#миграции)

Модуль хранит данные в таблицах, которые будут созданы командой

`php yii migrate/up --migrationPath=@vendor/pozitronik/yii2-dynamic-attributes/migrations`

список названий таблиц, создаваемых миграцией, можно посмотреть в файле `migrations/m000000_000000_create_dynamic_attributes_tables.php`.

Концепция и примеры использования
---------------------------------

[](#концепция-и-примеры-использования)

Обычно проектируя приложение, мы заранее знаем, с какими наборами данных будем работать, моделируя классы с учётом этого, например, создавая структуру БД под эти данные. Но бывают случаи, когда нужно дать пользователю самому определять набор данных прямо в рантайме.

`- Как в Excel? - Как в Excel!`

Этот компонент добавляет поддержку динамических атрибутов в ActiveRecord-модели ровно в два шага.

1. Добавляем алиас класса записав его [в конфигурацию модели](#%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F), либо динамически:

```
DynamicAttributes::setClassAlias(MyTableModel::class, 'myTableModel');
```

2. Добавляем трейт `DynamicAttributesTrait` в вашу модель:

```
