HEX
Server: LiteSpeed
System: Linux premium260.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: aliazzsr (627)
PHP: 7.4.33
Disabled: NONE
Upload Files
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);
    }
}