newInstanceArgs($args); } //array의 첫번째 값이 Condition이 아닌 경우에는 그냥 배열로 처리함. return array_map(static::build, $conditionChain); } protected static function _eval($arg, $env=null){ if(is_bool($arg)){ return [ 'value'=>$arg, 'chain'=>['boolean'] ]; } if($arg instanceof Condition){ return $arg->checkCondition($env); } throw new \InvalidArgumentException('평가 인자는 boolean이거나 Condition 클래스여야 합니다.'); } }