Pinq\Queries\Functions\Parameters\ParameterBase::__construct PHP Method

__construct() protected method

protected __construct ( array $parameterExpressions, $usedParameters )
$parameterExpressions array
    protected function __construct(array $parameterExpressions, $usedParameters)
    {
        /** @var $parameterExpressions O\ParameterExpression[] */
        foreach ($parameterExpressions as $parameter) {
            if ($parameter->isVariadic()) {
                throw new PinqException('Cannot construct %s: invalid expression for parameter \'%s\', variadic parameters are not supported.', get_class($this), $parameter->getName());
            }
        }
        $this->expressions = $parameterExpressions;
        $this->unusedExpressions = array_slice($parameterExpressions, $usedParameters);
        foreach ($this->unusedExpressions as $parameter) {
            if ($parameter->hasDefaultValue()) {
                $defaultExpression = $parameter->getDefaultValue();
            } else {
                $defaultExpression = null;
                $this->hasRequiredUnusedParameters = true;
                $this->requiredUnusedExpressions[] = $parameter;
            }
            $this->unusedParameterDefaultMap[$parameter->getName()] = $defaultExpression;
        }
    }

Usage Example

Beispiel #1
0
 public function __construct(array $parameterExpressions)
 {
     parent::__construct($parameterExpressions, 4);
     //(outerValue, innerValue, outerKey, innerKey)
     $this->outerValue = isset($parameterExpressions[0]) ? $parameterExpressions[0] : null;
     $this->innerValue = isset($parameterExpressions[1]) ? $parameterExpressions[1] : null;
     $this->outerKey = isset($parameterExpressions[2]) ? $parameterExpressions[2] : null;
     $this->innerKey = isset($parameterExpressions[3]) ? $parameterExpressions[3] : null;
 }
All Usage Examples Of Pinq\Queries\Functions\Parameters\ParameterBase::__construct