2017 © Pedro Peláez
 

library arraydb-condition

image

luckyteam/arraydb-condition

  • Sunday, March 26, 2017
  • by luckyteam
  • Repository
  • 0 Watchers
  • 1 Stars
  • 5 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Condition

Condition - компонент приложения позволяет в удобной форме оформить условие в коде программы и выполнить его., (*1)

Как использовать?

Получить любым удобным способом строитель условий (ConditionBuilder). Передать на вход метода ConditionBuilder::build() нотацию и получить экземпляр условия. Воспользоваться экземпляром условия там где требуется его проверка., (*2)

$builder = new ConditionBuilder();
$condition = $builder->build($notation);
$condition->execute($model);

Какие условия можно создавать?

  • Условие сравнения
  • Условие на основе функции обратного вызова
  • Хеш условие
  • In
  • Not
  • Between
  • Like
  • And
  • Or

Условие сравнения

/** @var ConditionBuilder $builder */
$condition = $builder->build([
    '>', 'attribute1', 1
]);
$condition->execute($model);

Операторы сравнения, (*3)

"equal", "=", "not equal", "!=", "more", ">", "more or equal", ">=", "less", "<", "less or equal", "<="., (*4)

Условие на основе функции обратного вызова

/** @var ConditionBuilder $builder */
$condition = $builder->build(function($model){
    return $model->discount > (($model->price + $model->discount) * 0,5);
});
$condition->execute($model);

Хеш условие

/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'attribute1' => ['Foo', 'Bzz'], // На основании этого элемента будет построено IN - условие
    'attribute2' => 'value2'
]);
$condition->execute($model);

IN условие

/** @var ConditionBuilder $builder */
// Формат для записи условия избранный первоначально
$condition = $builder->build([
    'in', [
        'attribute' => ['Foo', 'Bzz']
    ],
]);

// Формат реализованный для соответсвия Yii2
$condition = $builder->build([
    'in', 'attribute', ['Foo', 'Bzz']
]);
$condition->execute($model);

NOT условие

/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'not', [
        '>=', 'attribute1' , 100
    ]
]);
$condition->execute($model);

BETWEEN условие

/** @var ConditionBuilder $builder */
// Формат для записи условия избранный первоначально
$condition = $builder->build([
    'between', [
        'attribute' => [1, 10]
    ],
]);

// Формат реализованный для соответсвия Yii2
$condition = $builder->build([
    'between', [
        'attribute' => [1, 10]
    ],
]);
$condition->execute($model);

LIKE условие

/** @var ConditionBuilder $builder */
// Формат для записи условия избранный первоначально
$condition = $builder->build([
    'like', [
        'attribute' => "/F.o/"
    ],
]);

// Формат реализованный для соответсвия Yii2
$condition = $builder->build([
    'like', 'attribute', "/F.o/"
]);
$condition->execute($model);

AND условие

/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'and', [
        '>=', 'attribute1' , 1
    ], [
        'attribute2' => 'value2'
    ]
]);
$condition->execute($model);

OR условие

/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'or', [
        '>=', 'attribute1' , 1
    ], [
        'attribute2' => 'value2'
    ]
]);
$condition->execute($model);

The Versions

26/03 2017

dev-master

9999999-dev

  Sources   Download

BSD-3-Clause

The Development Requires

by Lucky Team
by Ivan Mironov