Pinq\Expressions\Expression::constant PHP Method

constant() final public static method

final public static constant ( string $name ) : ConstantExpression
$name string
return ConstantExpression
    public static final function constant($name)
    {
        return new ConstantExpression($name);
    }

Usage Example

コード例 #1
0
 public function testFunctionWithDefaultRelativeConstant()
 {
     /** @var $function Functions\ElementProjection */
     $function = $this->buildFunction('', null, __NAMESPACE__, [], [O\Expression::parameter('value'), O\Expression::parameter('key'), O\Expression::parameter('excessive1', null, O\Expression::constant('__RELATIVE_CONSTANT')), O\Expression::parameter('excessive2', null, O\Expression::value([false]))]);
     $this->assertSame(false, $function->getParameters()->hasRequiredUnusedParameters());
     $this->assertEquals([], $function->getParameters()->getRequiredUnusedParameters());
     $this->assertEquals([O\Expression::parameter('excessive1', null, O\Expression::constant('__RELATIVE_CONSTANT')), O\Expression::parameter('excessive2', null, O\Expression::value([false]))], $function->getParameters()->getUnused());
     $this->assertEquals(['excessive1' => O\Expression::constant('__RELATIVE_CONSTANT'), 'excessive2' => O\Expression::value([false])], $function->getParameters()->getUnusedParameterDefaultMap());
     //This fails in PHP due to strange behaviour with closures and relative constants.
     //Bug reported: https://bugs.php.net/bug.php?id=67897
     if (defined('HHVM_VERSION')) {
         define('__RELATIVE_CONSTANT', 'in global namespace');
         $this->assertEquals(['excessive1' => 'in global namespace', 'excessive2' => [false]], $function->getEvaluationContextFactory()->getEvaluationContext()->getVariableTable());
         //Should take precedence
         define(__NAMESPACE__ . '\\__RELATIVE_CONSTANT', 'in relative namespace');
         $this->assertEquals(['excessive1' => 'in relative namespace', 'excessive2' => [false]], $function->getEvaluationContextFactory()->getEvaluationContext()->getVariableTable());
     }
 }
All Usage Examples Of Pinq\Expressions\Expression::constant