Storm\Drivers\Base\Object\Procedure::__construct PHP Метод

__construct() публичный Метод

public __construct ( $EntityOrType, array $AssignmentExpressions, Storm\Core\Object\ICriterion $Criterion = null )
$AssignmentExpressions array
$Criterion Storm\Core\Object\ICriterion
    public function __construct($EntityOrType, array $AssignmentExpressions, Object\ICriterion $Criterion = null)
    {
        if (count($AssignmentExpressions) === 0) {
            throw new Object\ObjectException('Procedure must contain atleast one assignment expression: none given');
        }
        $this->EntityType = is_object($EntityOrType) ? get_class($EntityOrType) : $EntityOrType;
        $this->AssignmentExpressions = $AssignmentExpressions;
        $this->Criterion = $Criterion ?: new Criterion($this->EntityType);
        if ($this->Criterion->GetEntityType() !== $this->EntityType) {
            throw new Object\TypeMismatchException('The supplied criterion must be for %s, %s given', $this->EntityType, $this->Criterion->GetEntityType());
        }
    }

Usage Example

Пример #1
0
 public function __construct(Functional\IAST $AST, \Storm\Core\Object\ICriterion $Criterion = null)
 {
     $EntityType = $AST->GetEntityMap()->GetEntityType();
     parent::__construct($EntityType, $this->ParseAssignmentExpressions($AST), $Criterion ?: new Criterion($EntityType));
 }