class ModelConfiguration extends Configuration (View source)

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
callable|null
getTypeFormatter()

No description

public
string
getTypePrefix()

No description

public
array
getNestedQueryPlugins()

No description

public
array
getOperationConfig(string $operation)

No description

public
string
getTypeName(string $class, array $mapping = [])

No description

public
array
getDefaultFields()

Fields that are added to the model by default. Can be opted out per type

public
array
getBaseFields()

Fields that will appear on all models. Cannot be opted out on any type.

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

callable|null getTypeFormatter()

No description

Return Value

callable|null

Exceptions

SchemaBuilderException

string getTypePrefix()

No description

Return Value

string

Exceptions

SchemaBuilderException

array getNestedQueryPlugins()

No description

Return Value

array

Exceptions

SchemaBuilderException

array getOperationConfig(string $operation)

No description

Parameters

string $operation

Return Value

array

Exceptions

SchemaBuilderException

string getTypeName(string $class, array $mapping = [])

No description

Parameters

string $class
array $mapping

Return Value

string

Exceptions

SchemaBuilderException

array getDefaultFields()

Fields that are added to the model by default. Can be opted out per type

Return Value

array

Exceptions

SchemaBuilderException

array getBaseFields()

Fields that will appear on all models. Cannot be opted out on any type.

Return Value

array

Exceptions

SchemaBuilderException