Zephir\Stubs\Generator::wrapPHPValue PHP Method

wrapPHPValue() protected method

Prepare AST default value to PHP code print
protected wrapPHPValue ( $parameter ) : string
$parameter
return string
    protected function wrapPHPValue($parameter)
    {
        switch ($parameter['default']['type']) {
            case 'null':
                return 'null';
                break;
            case 'string':
            case 'char':
                return '"' . addslashes($parameter['default']['value']) . '"';
                break;
            case 'empty-array':
                return 'array()';
                break;
            case 'array':
                $parameters = array();
                foreach ($parameter['default']['left'] as $value) {
                    $source = '';
                    if (isset($value['key'])) {
                        $source .= $this->wrapPHPValue(array('default' => $value['key'], 'type' => $value['key']['type'])) . ' => ';
                    }
                    $parameters[] = $source . $this->wrapPHPValue(array('default' => $value['value'], 'type' => $value['value']['type']));
                }
                return 'array(' . implode(', ', $parameters) . ')';
                break;
            case 'static-constant-access':
                return $parameter['default']['left']['value'] . '::' . $parameter['default']['right']['value'];
                break;
            case 'int':
            case 'double':
            case 'bool':
                return $parameter['default']['value'];
                break;
            default:
                throw new Exception('Stubs - value with type: ' . $parameter['default']['type'] . ' is not supported');
                break;
        }
    }