class SchemaConfig extends Configuration (View source)

Encapsulates configuration required for a 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

Properties

protected array $settings from  Configuration

Methods

public static 
create(mixed ...$args)

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

public static 
singleton(string $class = null)

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

public
__construct(array $settings = [])

ModelConfiguration constructor.

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

Return a setting by dot.separated.syntax

public
set($path, $value)

No description

public
unset($path)

No description

public
apply(array $settings)

No description

public
array
toArray()

No description

public
getModelConfiguration(string $modelName)

No description

public
array
getResolvers()

No description

public
SchemaModelInterface|null
createModel(string $class)

No description

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

No description

public
callable
getDefaultResolver()

No description

public
callable
getPluraliser()

No description

public static 
string
pluralise(string $typeName)

No description

public
setTypeMapping(array $typeMapping)

No description

public
array
getTypeMapping()

No description

public
setFieldMapping(array $fields)

No description

public
bool
hasModel(string $class)

No description

public
string|null
getTypeNameForClass(string $class)

No description

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

No description

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

No description

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

No description

Details

static Injectable create(mixed ...$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::class); $list = SiteTree::get();

Parameters

mixed ...$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)

No description

Parameters

$path
$value

Return Value

Configuration

Exceptions

SchemaBuilderException

Configuration unset($path)

No description

Parameters

$path

Return Value

Configuration

Exceptions

SchemaBuilderException

Configuration apply(array $settings)

No description

Parameters

array $settings

Return Value

Configuration

array toArray()

No description

Return Value

array

ModelConfiguration getModelConfiguration(string $modelName)

No description

Parameters

string $modelName

Return Value

ModelConfiguration

Exceptions

SchemaBuilderException

array getResolvers()

No description

Return Value

array

Exceptions

SchemaBuilderException

SchemaModelInterface|null createModel(string $class)

No description

Parameters

string $class

Return Value

SchemaModelInterface|null

Exceptions

SchemaBuilderException

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

No description

Parameters

Type|null $type
Field|null $field

Return Value

ResolverReference

Exceptions

SchemaBuilderException

callable getDefaultResolver()

No description

Return Value

callable

Exceptions

SchemaBuilderException

callable getPluraliser()

No description

Return Value

callable

Exceptions

SchemaBuilderException

static string pluralise(string $typeName)

No description

Parameters

string $typeName

Return Value

string

SchemaConfig setTypeMapping(array $typeMapping)

No description

Parameters

array $typeMapping

Return Value

SchemaConfig

Exceptions

SchemaBuilderException

array getTypeMapping()

No description

Return Value

array

Exceptions

SchemaBuilderException

SchemaConfig setFieldMapping(array $fields)

No description

Parameters

array $fields

Return Value

SchemaConfig

Exceptions

SchemaBuilderException

bool hasModel(string $class)

No description

Parameters

string $class

Return Value

bool

Exceptions

SchemaBuilderException

string|null getTypeNameForClass(string $class)

No description

Parameters

string $class

Return Value

string|null

Exceptions

SchemaBuilderException

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

No description

Parameters

string $typeName
string $fieldName

Return Value

array|null

Exceptions

SchemaBuilderException

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

No description

Parameters

string $className
string $fieldName

Return Value

array|null

Exceptions

SchemaBuilderException

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

No description

Parameters

string $rootType
string $path

Return Value

string|null

Exceptions

SchemaBuilderException