File: /home/aliazzsr/api.crm.vqode.com/components/filtering/ConditionFactory.php
<?php
namespace app\components\filtering;
class ConditionFactory
{
/** @var ICondition[] */
public static $classes = [
'app\components\filtering\FirstLetterCondition',
'app\components\filtering\SearchCondition',
'app\components\filtering\ProjectCompanyCondition',
'app\components\filtering\NameCondition',
'app\components\filtering\OperatorCondition',
'app\components\filtering\SimpleCondition',
];
/**
* @param string $attribute
* @param mixed $value
* @param string $modelClass
* @return mixed
*/
public static function createCondition($attribute, $value, $modelClass = null)
{
foreach (self::$classes as $class) {
if ($class::is($attribute, $value)) {
return $class::get($attribute, $value, $modelClass);
}
}
return EmptyCondition::get($attribute, $value, $modelClass);
}
}