Pinq\Expressions\Expression::parameter PHP Method

parameter() final public static method

final public static parameter ( string $name, string | null $typeHint = null, Expression $defaultValue = null, boolean $isPassedByReference = false, boolean $isVariadic = false ) : ParameterExpression
$name string
$typeHint string | null
$defaultValue Expression
$isPassedByReference boolean
$isVariadic boolean
return ParameterExpression
    public static final function parameter($name, $typeHint = null, Expression $defaultValue = null, $isPassedByReference = false, $isVariadic = false)
    {
        return new ParameterExpression($name, $typeHint, $defaultValue, $isPassedByReference, $isVariadic);
    }

Usage Example

コード例 #1
0
 /**
  * @dataProvider interpreters
  */
 public function testParameterExpressions()
 {
     $this->assertParametersAre(function ($i) {
     }, [O\Expression::parameter('i')]);
     $this->assertParametersAre(function ($i, $foo) {
     }, [O\Expression::parameter('i'), O\Expression::parameter('foo')]);
     $this->assertParametersAre(function ($i = null) {
     }, [O\Expression::parameter('i', null, O\Expression::value(null))]);
     $this->assertParametersAre(function ($i = 'bar') {
     }, [O\Expression::parameter('i', null, O\Expression::value('bar'))]);
     $this->assertParametersAre(function (\DateTime $i) {
     }, [O\Expression::parameter('i', '\\DateTime')]);
     $this->assertParametersAre(function (self $i) {
     }, [O\Expression::parameter('i', '\\' . __CLASS__)]);
     $this->assertParametersAre(function (parent $i) {
     }, [O\Expression::parameter('i', '\\' . get_parent_class())]);
     $this->assertParametersAre(function (MiscInterpreterTest $i) {
     }, [O\Expression::parameter('i', '\\' . __CLASS__)]);
     $this->assertParametersAre(function (ParameterClassTest $i) {
     }, [O\Expression::parameter('i', '\\' . __NAMESPACE__ . '\\ParameterClassTest')]);
     $this->assertParametersAre(function (namespace\ParameterClassTest $i) {
     }, [O\Expression::parameter('i', '\\' . __NAMESPACE__ . '\\ParameterClassTest')]);
     $this->assertParametersAre(function (&$i) {
     }, [O\Expression::parameter('i', null, null, true)]);
     $this->assertParametersAre(function (\stdClass &$i = null, array $array = ['foo']) {
     }, [O\Expression::parameter('i', '\\stdClass', O\Expression::value(null), true), O\Expression::parameter('array', 'array', O\Expression::value(['foo']))]);
     $this->assertParametersAre(function (callable &$v = null) {
     }, [O\Expression::parameter('v', 'callable', O\Expression::value(null), true)]);
     $this->assertParametersAre(function ($v = [1, 2, 3, 'test' => 'foo', [2 => 'boo', '']]) {
     }, [O\Expression::parameter('v', null, O\Expression::value([1, 2, 3, 'test' => 'foo', [2 => 'boo', '']]))]);
 }
All Usage Examples Of Pinq\Expressions\Expression::parameter