class Config extends Fluent implements Config

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected TValue> $attributes

All of the attributes set on the fluent instance.

from  Fluent
protected array<string, mixed> $defaultAttributes

All of the attributes set on the fluent instance.

protected array<string, array<int, string>> $purgeConfig

The Workbench default configuration.

protected array<string, mixed> $workbenchConfig

The Workbench default configuration.

protected array<string, mixed> $workbenchDiscoversConfig

The Workbench discovers default configuration.

static protected null|Config $cachedConfiguration

The cached configuration used during tests.

Methods

mixed
when(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

mixed
unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

array
all(mixed $keys = null)

Retrieve all data from the instance.

mixed
data(string|null $key = null, mixed $default = null)

Retrieve data from the instance.

bool
exists(array|string $key)

Determine if the data contains a given key.

bool
has(array|string $key)

Determine if the data contains a given key.

bool
hasAny(array|string $keys)

Determine if the instance contains any of the given keys.

mixed
whenHas(string $key, callable $callback, callable|null $default = null)

Apply the callback if the instance contains the given key.

bool
filled(array|string $key)

Determine if the instance contains a non-empty value for the given key.

bool
isNotFilled(array|string $key)

Determine if the instance contains an empty value for the given key.

bool
anyFilled(array|string $keys)

Determine if the instance contains a non-empty value for any of the given keys.

mixed
whenFilled(string $key, callable $callback, callable|null $default = null)

Apply the callback if the instance contains a non-empty value for the given key.

mixed
whenEnum(string $key, string $enumClass, callable $callback, callable|null $default = null)

Apply the callback if the instance contains a valid enum value for the given key.

bool
missing(array|string $key)

Determine if the instance is missing a given key.

mixed
whenMissing(string $key, callable $callback, callable|null $default = null)

Apply the callback if the instance is missing the given key.

bool
isEmptyString(string $key)

Determine if the given key is an empty string for "filled".

str(string $key, mixed $default = null)

Retrieve data from the instance as a Stringable instance.

string(string $key, mixed $default = null)

Retrieve data from the instance as a Stringable instance.

bool
boolean(string|null $key = null, bool $default = false)

Retrieve data as a boolean value.

int
integer(string $key, int $default = 0)

Retrieve data as an integer value.

float
float(string $key, float $default = 0.0)

Retrieve data as a float value.

int|float
clamp(string $key, int|float $min, int|float $max, int|float $default = 0)

Retrieve data clamped between min and max values.

CarbonInterface|null
date(string $key, string|null $format = null, UnitEnum|string|null $tz = null)

Retrieve data from the instance as a Carbon instance.

CarbonInterval|null
interval(string $key, Unit|string|null $unit = null)

Retrieve data from the instance as a CarbonInterval instance.

mixed
enum(string $key, string $enumClass, mixed $default = null)

Retrieve data from the instance as an enum.

array
enums(string $key, string $enumClass)

Retrieve data from the instance as an array of enums.

array
array(array|string|null $key = null)

Retrieve data from the instance as an array.

collect(array|string|null $key = null)

Retrieve data from the instance as a collection.

array
only(mixed $keys)

Get a subset containing the provided keys with values from the instance data.

array
except(mixed $keys)

Get all of the data except for a specified array of items.

static void
macro(string $name, callable|object $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Check if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

__construct(array|object $attributes = [])

Construct a new Config instance.

static Fluent
make(array|object $attributes = [])

Create a new fluent instance.

from  Fluent
mixed
get(string|int|null $key = null, mixed $default = null)

Get an attribute from the fluent instance using "dot" notation.

from  Fluent
set(string|int $key, mixed $value)

Set an attribute on the fluent instance using "dot" notation.

from  Fluent
fill(array|object $attributes)

Fill the fluent instance with an array of attributes.

from  Fluent
mixed
value(string|int $key, mixed $default = null)

Get an attribute from the fluent instance.

from  Fluent
scope(string $key, mixed $default = null)

Get the value of the given key as a new Fluent instance.

from  Fluent
array
getAttributes()

Get the attributes from the fluent instance.

from  Fluent
array
toArray()

Convert the fluent instance to an array.

from  Fluent
array
jsonSerialize()

Convert the object into something JSON serializable.

from  Fluent
string
toJson(int $options = 0)

Convert the fluent instance to JSON.

from  Fluent
string
toPrettyJson(int $options = 0)

Convert the fluent instance to pretty print formatted JSON.

from  Fluent
bool
isEmpty()

Determine if the fluent instance is empty.

from  Fluent
bool
isNotEmpty()

Determine if the fluent instance is not empty.

from  Fluent
bool
offsetExists(mixed $offset)

Determine if the given offset exists.

from  Fluent
mixed
offsetGet(mixed $offset)

Get the value for a given offset.

from  Fluent
void
offsetSet(mixed $offset, mixed $value)

Set the value at the given offset.

from  Fluent
void
offsetUnset(mixed $offset)

Unset the value at the given offset.

from  Fluent
getIterator()

Get an iterator for the attributes.

from  Fluent
static void
flushState()

Flush all static state.

mixed
__get(string $key)

Dynamically retrieve the value of an attribute.

from  Fluent
void
__set(string $key, mixed $value)

Dynamically set the value of an attribute.

from  Fluent
bool
__isset(string $key)

Dynamically check if an attribute is set.

from  Fluent
void
__unset(string $key)

Dynamically unset an attribute.

from  Fluent
static Config
loadFromYaml(string $workingPath, string|null $filename = 'testbench.yaml', array $defaults = [])

Load configuration from Yaml file.

static Config
cacheFromYaml(string $workingPath, string|null $filename = 'testbench.yaml', array $defaults = [])

Load (and cache) configuration from Yaml file.

addProviders(array $providers)

Add additional service providers.

array
getExtraAttributes()

Get extra attributes.

array
getPurgeAttributes()

Get purge attributes.

array
getWorkbenchAttributes()

Get workbench attributes.

array
getWorkbenchDiscoversAttributes()

Get workbench discovers attributes.

Details

in Conditionable at line 23
mixed when(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

Parameters

mixed $value
callable|null $callback
callable|null $default

Return Value

mixed

in Conditionable at line 56
mixed unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

Parameters

mixed $value
callable|null $callback
callable|null $default

Return Value

mixed

in InteractsWithData at line 29
abstract array all(mixed $keys = null)

Retrieve all data from the instance.

Parameters

mixed $keys

Return Value

array

in InteractsWithData at line 34
abstract protected mixed data(string|null $key = null, mixed $default = null)

Retrieve data from the instance.

Parameters

string|null $key
mixed $default

Return Value

mixed

in InteractsWithData at line 39
bool exists(array|string $key)

Determine if the data contains a given key.

Parameters

array|string $key

Return Value

bool

in InteractsWithData at line 47
bool has(array|string $key)

Determine if the data contains a given key.

Parameters

array|string $key

Return Value

bool

in InteractsWithData at line 66
bool hasAny(array|string $keys)

Determine if the instance contains any of the given keys.

Parameters

array|string $keys

Return Value

bool

in InteractsWithData at line 85
mixed whenHas(string $key, callable $callback, callable|null $default = null)

Apply the callback if the instance contains the given key.

Parameters

string $key
callable $callback
callable|null $default

Return Value

mixed

in InteractsWithData at line 101
bool filled(array|string $key)

Determine if the instance contains a non-empty value for the given key.

Parameters

array|string $key

Return Value

bool

in InteractsWithData at line 118
bool isNotFilled(array|string $key)

Determine if the instance contains an empty value for the given key.

Parameters

array|string $key

Return Value

bool

in InteractsWithData at line 135
bool anyFilled(array|string $keys)

Determine if the instance contains a non-empty value for any of the given keys.

Parameters

array|string $keys

Return Value

bool

in InteractsWithData at line 159
mixed whenFilled(string $key, callable $callback, callable|null $default = null)

Apply the callback if the instance contains a non-empty value for the given key.

Parameters

string $key
callable $callback
callable|null $default

Return Value

mixed

in InteractsWithData at line 184
mixed whenEnum(string $key, string $enumClass, callable $callback, callable|null $default = null)

Apply the callback if the instance contains a valid enum value for the given key.

Parameters

string $key
string $enumClass
callable $callback
callable|null $default

Return Value

mixed

in InteractsWithData at line 200
bool missing(array|string $key)

Determine if the instance is missing a given key.

Parameters

array|string $key

Return Value

bool

in InteractsWithData at line 217
mixed whenMissing(string $key, callable $callback, callable|null $default = null)

Apply the callback if the instance is missing the given key.

Parameters

string $key
callable $callback
callable|null $default

Return Value

mixed

in InteractsWithData at line 233
protected bool isEmptyString(string $key)

Determine if the given key is an empty string for "filled".

Parameters

string $key

Return Value

bool

in InteractsWithData at line 245
Stringable str(string $key, mixed $default = null)

Retrieve data from the instance as a Stringable instance.

Parameters

string $key
mixed $default

Return Value

Stringable

in InteractsWithData at line 253
Stringable string(string $key, mixed $default = null)

Retrieve data from the instance as a Stringable instance.

Parameters

string $key
mixed $default

Return Value

Stringable

in InteractsWithData at line 263
bool boolean(string|null $key = null, bool $default = false)

Retrieve data as a boolean value.

Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false.

Parameters

string|null $key
bool $default

Return Value

bool

in InteractsWithData at line 271
int integer(string $key, int $default = 0)

Retrieve data as an integer value.

Parameters

string $key
int $default

Return Value

int

in InteractsWithData at line 279
float float(string $key, float $default = 0.0)

Retrieve data as a float value.

Parameters

string $key
float $default

Return Value

float

in InteractsWithData at line 287
int|float clamp(string $key, int|float $min, int|float $max, int|float $default = 0)

Retrieve data clamped between min and max values.

Parameters

string $key
int|float $min
int|float $max
int|float $default

Return Value

int|float

in InteractsWithData at line 305
CarbonInterface|null date(string $key, string|null $format = null, UnitEnum|string|null $tz = null)

Retrieve data from the instance as a Carbon instance.

Parameters

string $key
string|null $format
UnitEnum|string|null $tz

Return Value

CarbonInterface|null

Exceptions

InvalidFormatException

in InteractsWithData at line 323
CarbonInterval|null interval(string $key, Unit|string|null $unit = null)

Retrieve data from the instance as a CarbonInterval instance.

Parameters

string $key
Unit|string|null $unit

Return Value

CarbonInterval|null

in InteractsWithData at line 350
mixed enum(string $key, string $enumClass, mixed $default = null)

Retrieve data from the instance as an enum.

Parameters

string $key
string $enumClass
mixed $default

Return Value

mixed

in InteractsWithData at line 367
array enums(string $key, string $enumClass)

Retrieve data from the instance as an array of enums.

Parameters

string $key
string $enumClass

Return Value

array

in InteractsWithData at line 382
array array(array|string|null $key = null)

Retrieve data from the instance as an array.

Parameters

array|string|null $key

Return Value

array

in InteractsWithData at line 390
Collection collect(array|string|null $key = null)

Retrieve data from the instance as a collection.

Parameters

array|string|null $key

Return Value

Collection

in InteractsWithData at line 398
array only(mixed $keys)

Get a subset containing the provided keys with values from the instance data.

Parameters

mixed $keys

Return Value

array

in InteractsWithData at line 420
array except(mixed $keys)

Get all of the data except for a specified array of items.

Parameters

mixed $keys

Return Value

array

in Macroable at line 28
static void macro(string $name, callable|object $macro)

Register a custom macro.

Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 41
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 57
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 68
static void flushMacros()

Flush the existing macros.

Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 78
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line 103
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 182
__construct(array|object $attributes = [])

Construct a new Config instance.

Parameters

array|object $attributes

in Fluent at line 56
static Fluent make(array|object $attributes = [])

Create a new fluent instance.

Parameters

array|object $attributes

Return Value

Fluent

in Fluent at line 69
mixed get(string|int|null $key = null, mixed $default = null)

Get an attribute from the fluent instance using "dot" notation.

Parameters

string|int|null $key
mixed $default

Return Value

mixed

in Fluent at line 77
Fluent set(string|int $key, mixed $value)

Set an attribute on the fluent instance using "dot" notation.

Parameters

string|int $key
mixed $value

Return Value

Fluent

in Fluent at line 89
Fluent fill(array|object $attributes)

Fill the fluent instance with an array of attributes.

Parameters

array|object $attributes

Return Value

Fluent

in Fluent at line 101
mixed value(string|int $key, mixed $default = null)

Get an attribute from the fluent instance.

Parameters

string|int $key
mixed $default

Return Value

mixed

in Fluent at line 113
Fluent scope(string $key, mixed $default = null)

Get the value of the given key as a new Fluent instance.

Parameters

string $key
mixed $default

Return Value

Fluent

in Fluent at line 155
array getAttributes()

Get the attributes from the fluent instance.

Return Value

array

in Fluent at line 165
array toArray()

Convert the fluent instance to an array.

Return Value

array

in Fluent at line 175
array jsonSerialize()

Convert the object into something JSON serializable.

Return Value

array

in Fluent at line 185
string toJson(int $options = 0)

Convert the fluent instance to JSON.

Parameters

int $options

Return Value

string

Exceptions

JsonException

in Fluent at line 195
string toPrettyJson(int $options = 0)

Convert the fluent instance to pretty print formatted JSON.

Parameters

int $options

Return Value

string

Exceptions

JsonException

in Fluent at line 203
bool isEmpty()

Determine if the fluent instance is empty.

Return Value

bool

in Fluent at line 211
bool isNotEmpty()

Determine if the fluent instance is not empty.

Return Value

bool

in Fluent at line 221
bool offsetExists(mixed $offset)

Determine if the given offset exists.

Parameters

mixed $offset

Return Value

bool

in Fluent at line 232
mixed offsetGet(mixed $offset)

Get the value for a given offset.

Parameters

mixed $offset

Return Value

mixed

in Fluent at line 243
void offsetSet(mixed $offset, mixed $value)

Set the value at the given offset.

Parameters

mixed $offset
mixed $value

Return Value

void

in Fluent at line 253
void offsetUnset(mixed $offset)

Unset the value at the given offset.

Parameters

mixed $offset

Return Value

void

in Fluent at line 263
Traversable getIterator()

Get an iterator for the attributes.

Return Value

Traversable

at line 339
static void flushState()

Flush all static state.

Return Value

void

in Fluent at line 297
mixed __get(string $key)

Dynamically retrieve the value of an attribute.

Parameters

string $key

Return Value

mixed

in Fluent at line 305
void __set(string $key, mixed $value)

Dynamically set the value of an attribute.

Parameters

string $key
mixed $value

Return Value

void

in Fluent at line 313
bool __isset(string $key)

Dynamically check if an attribute is set.

Parameters

string $key

Return Value

bool

in Fluent at line 321
void __unset(string $key)

Dynamically unset an attribute.

Parameters

string $key

Return Value

void

at line 192
static Config loadFromYaml(string $workingPath, string|null $filename = 'testbench.yaml', array $defaults = [])

Load configuration from Yaml file.

Parameters

string $workingPath
string|null $filename
array $defaults

Return Value

Config

at line 248
static Config cacheFromYaml(string $workingPath, string|null $filename = 'testbench.yaml', array $defaults = [])

Load (and cache) configuration from Yaml file.

Parameters

string $workingPath
string|null $filename
array $defaults

Return Value

Config

at line 258
Config addProviders(array $providers)

Add additional service providers.

Parameters

array $providers

Return Value

Config

at line 272
array getExtraAttributes()

Get extra attributes.

Return Value

array

at line 291
array getPurgeAttributes()

Get purge attributes.

Return Value

array

at line 306
array getWorkbenchAttributes()

Get workbench attributes.

Return Value

array

at line 331
array getWorkbenchDiscoversAttributes()

Get workbench discovers attributes.

Return Value

array