class SchemaConfig extends Configuration (View source)

Encapsulates configuration required for a {@link Schema} object.

This should include only that state which might be relevant to query-time execution, such as resolver code.

Traits

A class that can be instantiated or replaced via DI

Methods

static Injectable
create(array ...$args)

An implementation of the factory method, allows you to create an instance of a class

static Injectable
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

__construct(array $settings = [])

ModelConfiguration constructor.

mixed
get(string|array $path, mixed $default = null)

Return a setting by dot.separated.syntax

set($path, $value)

No description

unset($path)

No description

apply(array $settings)

No description

array
toArray()

No description

getModelConfiguration(string $modelName)

No description

array
getResolvers()

No description

SchemaModelInterface|null
createModel(string $class)

No description

discoverResolver(Type|null $type = null, Field|null $field = null)

No description

callable
getDefaultResolver()

No description

callable
getPluraliser()

No description

static string
pluralise(string $typeName)

No description

setTypeMapping(array $typeMapping)

No description

array
getTypeMapping()

No description

setFieldMapping(array $fields)

No description

bool
hasModel(string $class)

No description

string|null
getTypeNameForClass(string $class)

No description

array|null
mapField(string $typeName, string $fieldName)

No description

array|null
mapFieldByClassName(string $className, string $fieldName)

No description

string|null
mapPath(string $rootType, string $path)

No description

Details

static Injectable create(array ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create('SiteTree'); $list = SiteTree::get();

Parameters

array ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

__construct(array $settings = [])

ModelConfiguration constructor.

Parameters

array $settings

mixed get(string|array $path, mixed $default = null)

Return a setting by dot.separated.syntax

Parameters

string|array $path
mixed $default

Return Value

mixed

Exceptions

SchemaBuilderException

Configuration set($path, $value)

Parameters

$path
$value

Return Value

Configuration

Exceptions

SchemaBuilderException

Configuration unset($path)

Parameters

$path

Return Value

Configuration

Exceptions

SchemaBuilderException

Configuration apply(array $settings)

Parameters

array $settings

Return Value

Configuration

array toArray()

Return Value

array

ModelConfiguration getModelConfiguration(string $modelName)

Parameters

string $modelName

Return Value

ModelConfiguration

Exceptions

SchemaBuilderException

array getResolvers()

Return Value

array

Exceptions

SchemaBuilderException

SchemaModelInterface|null createModel(string $class)

Parameters

string $class

Return Value

SchemaModelInterface|null

Exceptions

SchemaBuilderException

ResolverReference discoverResolver(Type|null $type = null, Field|null $field = null)

Parameters

Type|null $type
Field|null $field

Return Value

ResolverReference

Exceptions

SchemaBuilderException

callable getDefaultResolver()

Return Value

callable

Exceptions

SchemaBuilderException

callable getPluraliser()

Return Value

callable

Exceptions

SchemaBuilderException

static string pluralise(string $typeName)

Parameters

string $typeName

Return Value

string

SchemaConfig setTypeMapping(array $typeMapping)

Parameters

array $typeMapping

Return Value

SchemaConfig

Exceptions

SchemaBuilderException

array getTypeMapping()

Return Value

array

Exceptions

SchemaBuilderException

SchemaConfig setFieldMapping(array $fields)

Parameters

array $fields

Return Value

SchemaConfig

Exceptions

SchemaBuilderException

bool hasModel(string $class)

Parameters

string $class

Return Value

bool

Exceptions

SchemaBuilderException

string|null getTypeNameForClass(string $class)

Parameters

string $class

Return Value

string|null

Exceptions

SchemaBuilderException

array|null mapField(string $typeName, string $fieldName)

Parameters

string $typeName
string $fieldName

Return Value

array|null

Exceptions

SchemaBuilderException

array|null mapFieldByClassName(string $className, string $fieldName)

Parameters

string $className
string $fieldName

Return Value

array|null

Exceptions

SchemaBuilderException

string|null mapPath(string $rootType, string $path)

Parameters

string $rootType
string $path

Return Value

string|null

Exceptions

SchemaBuilderException