Вход Регистрация
Файл: gapps/vendor/hamcrest/hamcrest-php/generator/FactoryParameter.php
Строк: 33
<?php

/*
 Copyright (c) 2009 hamcrest.org
 */

class FactoryParameter
{
    
/**
     * @var FactoryMethod
     */
    
private $method;

    
/**
     * @var ReflectionParameter
     */
    
private $reflector;

    public function 
__construct(FactoryMethod $methodReflectionParameter $reflector)
    {
        
$this->method $method;
        
$this->reflector $reflector;
    }

    public function 
getDeclaration()
    {
        if (
$this->reflector->isArray()) {
            
$code 'array ';
        } else {
            
$class $this->reflector->getClass();
            if (
$class !== null) {
                
$code '\' . $class->name . ' ';
            } else {
                $code = '';
            }
        }
        $code .= '
$' . $this->reflector->name;
        if ($this->reflector->isOptional()) {
            $default = $this->reflector->getDefaultValue();
            if (is_null($default)) {
                $default = '
null';
            } elseif (is_bool($default)) {
                $default = $default ? '
true' : 'false';
            } elseif (is_string($default)) {
                $default = "'" . 
$default . "'";
            } elseif (is_numeric($default)) {
                $default = strval($default);
            } elseif (is_array($default)) {
                $default = '
array()';
            } else {
                echo '
Warningunknown default type for ' . $this->getMethod()->getFullName() . PHP_EOL;
                var_dump($default);
                $default = '
null';
            }
            $code .= ' 
' . $default;
        }
        return $code;
    }

    public function getInvocation()
    {
        return '
$' . $this->reflector->name;
    }

    public function getMethod()
    {
        return $this->method;
    }
}
Онлайн: 1
Реклама