ApiPlatform\SchemaGenerator\AnnotationGenerator\AbstractAnnotationGenerator::toPhpType PHP Method

toPhpType() protected method

Converts a Schema.org range to a PHP type.
protected toPhpType ( array $field, boolean $adderOrRemover = false ) : string
$field array
$adderOrRemover boolean
return string
    protected function toPhpType(array $field, $adderOrRemover = false)
    {
        $range = $field['range'];
        if ($field['isEnum']) {
            if ($field['isArray']) {
                return 'string[]';
            } else {
                return 'string';
            }
        }
        $data = false;
        switch ($range) {
            case 'Boolean':
                $data = 'boolean';
                break;
            case 'Date':
                // No break
            // No break
            case 'DateTime':
                // No break
            // No break
            case 'Time':
                $data = '\\DateTime';
                break;
            case 'Number':
                // No break
            // No break
            case 'Float':
                $data = 'float';
                break;
            case 'Integer':
                $data = 'integer';
                break;
            case 'Text':
                // No break
            // No break
            case 'URL':
                $data = 'string';
                break;
        }
        if (false !== $data) {
            if ($field['isArray']) {
                return sprintf('%s[]', $data);
            }
            return $data;
        }
        if (isset($this->classes[$field['range']]['interfaceName'])) {
            $range = $this->classes[$field['range']]['interfaceName'];
        }
        if ($field['isArray'] && !$adderOrRemover) {
            if ($this->config['doctrine']['useCollection']) {
                return sprintf('ArrayCollection<%s>', $range);
            }
            return sprintf('%s[]', $range);
        }
        return $range;
    }