new-inventor/parametrized

Trait for adding parameters for class

v1.0.1 2017-02-28 10:36 UTC

This package is not auto-updated.

Last update: 2024-05-01 19:25:08 UTC


README

#Parametrized

Трейт для добавления функционала параметров к классу

##Установка

через composer

composer require new-inventor/parametrized

##Принцип работы

Подключаем трейт к классу

use Parametrized;

Прописываем статический параметр

$defaults = [<name> => <value>];

все.

Теперь можно устанавливать параметры несколькими способами:

class MyParams {
    use Parametrized;
    protected static $defaults = [
        'name' => '',
        'description' => null,
    ];
}


$params = new MyParams();
$params->load([
    'name' => 'Name',
    'description' => 'null,
]);

$params->name = 'Jack';
$params->name('Max');

Также есть несколько полезных функций

//преобразует параметры в массив
$params->toArray();

//Создает отображение параметров в другой массив.
$params->map(
    [
        'name' => 'title', 
        'description' => 'descr'
    ],
    false
);