ComponentAttributeBag
class ComponentAttributeBag implements Arrayable, ArrayAccess, IteratorAggregate, JsonSerializable, Htmlable, Stringable
Traits
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| protected array | $attributes | The raw array of attributes. |
Methods
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Get all the attribute values.
Retrieve data from the instance.
Determine if the instance contains any of the given keys.
Apply the callback if the instance contains the given key.
Determine if the instance contains a non-empty value for the given key.
Determine if the instance contains an empty value for the given key.
Determine if the instance contains a non-empty value for any of the given keys.
Apply the callback if the instance contains a non-empty value for the given key.
Apply the callback if the instance contains a valid enum value for the given key.
Determine if the instance is missing a given key.
Apply the callback if the instance is missing the given key.
Determine if the given key is an empty string for "filled".
Retrieve data from the instance as a Stringable instance.
Retrieve data from the instance as a Stringable instance.
Retrieve data as a boolean value.
Retrieve data as an integer value.
Retrieve data as a float value.
Retrieve data clamped between min and max values.
Retrieve data from the instance as a Carbon instance.
Retrieve data from the instance as a CarbonInterval instance.
Retrieve data from the instance as an enum.
Retrieve data from the instance as an array of enums.
Determine if the given enum class is backed.
Normalize enum input to a strict backed value.
Resolve and cache the enum backing type for repeated lookups.
Retrieve data from the instance as an array.
Retrieve data from the instance as a collection.
Only include the given attribute from the attribute array.
Exclude the given attribute from the attribute array.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new component attribute bag instance.
Get the first attribute's value.
Get a given attribute from the attribute array.
Filter the attributes, returning a bag of attributes that pass the filter.
Return a bag of attributes that have keys starting with the given value / pattern.
Return a bag of attributes with keys that do not start with the given value / pattern.
Return a bag of attributes that have keys starting with the given value / pattern.
Only include the given attribute from the attribute array.
Exclude the given attribute from the attribute array.
Conditionally merge classes into the attribute bag.
Conditionally merge styles into the attribute bag.
Merge additional attributes / values into the attribute bag.
Determine if the specific attribute value should be escaped.
Create a new appendable attribute value.
Resolve an appendable attribute value default value.
Determine if the attribute bag is empty.
Determine if the attribute bag is not empty.
Get all of the raw attributes.
Set the underlying attributes.
Extract "prop" names from given keys.
Get content as a string of HTML.
Merge additional attributes / values into the attribute bag.
Determine if the given offset exists.
Get the value at the given offset.
Set the value at a given offset.
Remove the value at the given offset.
Get an iterator for the items.
Convert the object into a JSON serializable form.
Get all the attribute values.
Implode the attributes into a single HTML ready string.
Flush all static state.
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.
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.
at line 44
array
all(mixed $keys = null)
Get all the attribute values.
at line 72
protected mixed
data(string|null $key = null, mixed $default = null)
Retrieve data from the instance.
in
InteractsWithData at line 40
bool
exists(array|string $key)
Determine if the data contains a given key.
in
InteractsWithData at line 48
bool
has(array|string $key)
Determine if the data contains a given key.
in
InteractsWithData at line 66
bool
hasAny(array|string $keys)
Determine if the instance contains any of the given keys.
in
InteractsWithData at line 80
mixed
whenHas(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance contains the given key.
in
InteractsWithData at line 96
bool
filled(array|string $key)
Determine if the instance contains a non-empty value for the given key.
in
InteractsWithData at line 112
bool
isNotFilled(array|string $key)
Determine if the instance contains an empty value for the given key.
in
InteractsWithData at line 128
bool
anyFilled(array|string $keys)
Determine if the instance contains a non-empty value for any of the given keys.
in
InteractsWithData at line 146
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.
in
InteractsWithData at line 168
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.
in
InteractsWithData at line 188
bool
missing(array|string $key)
Determine if the instance is missing a given key.
in
InteractsWithData at line 198
mixed
whenMissing(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance is missing the given key.
in
InteractsWithData at line 214
protected bool
isEmptyString(string $key)
Determine if the given key is an empty string for "filled".
in
InteractsWithData at line 224
Stringable
str(string $key, mixed $default = null)
Retrieve data from the instance as a Stringable instance.
in
InteractsWithData at line 232
Stringable
string(string $key, mixed $default = null)
Retrieve data from the instance as a Stringable instance.
in
InteractsWithData at line 242
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.
in
InteractsWithData at line 250
int
integer(string $key, int $default = 0)
Retrieve data as an integer value.
in
InteractsWithData at line 258
float
float(string $key, float $default = 0.0)
Retrieve data as a float value.
in
InteractsWithData at line 266
int|float
clamp(string $key, int|float $min, int|float $max, int|float $default = 0)
Retrieve data clamped between min and max values.
in
InteractsWithData at line 283
CarbonInterface|null
date(string $key, string|null $format = null, UnitEnum|string|null $tz = null)
Retrieve data from the instance as a Carbon instance.
in
InteractsWithData at line 301
CarbonInterval|null
interval(string $key, Unit|string|null $unit = null)
Retrieve data from the instance as a CarbonInterval instance.
in
InteractsWithData at line 327
mixed
enum(string $key, string $enumClass, mixed $default = null)
Retrieve data from the instance as an enum.
in
InteractsWithData at line 350
array
enums(string $key, string $enumClass)
Retrieve data from the instance as an array of enums.
in
InteractsWithData at line 369
protected bool
isBackedEnum(string $enumClass)
Determine if the given enum class is backed.
in
InteractsWithData at line 377
protected int|string|null
normalizeEnumValue(string $enumClass, mixed $value)
Normalize enum input to a strict backed value.
in
InteractsWithData at line 422
protected string|null
enumBackingType(string $enumClass)
Resolve and cache the enum backing type for repeated lookups.
at line 84
array
array(array|string|null $key = null)
Retrieve data from the instance as an array.
in
InteractsWithData at line 441
Collection
collect(array|string|null $key = null)
Retrieve data from the instance as a collection.
at line 92
ComponentAttributeBag
only(mixed $keys)
Only include the given attribute from the attribute array.
at line 108
ComponentAttributeBag
except(mixed $keys)
Exclude the given attribute from the attribute 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.
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.
in
Macroable at line 57
static bool
hasMacro(string $name)
Check if macro is registered.
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.
in
Macroable at line 78
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 103
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 36
__construct(array $attributes = [])
Create a new component attribute bag instance.
at line 56
mixed
first(mixed $default = null)
Get the first attribute's value.
at line 64
mixed
get(string $key, mixed $default = null)
Get a given attribute from the attribute array.
at line 124
ComponentAttributeBag
filter(callable $callback)
Filter the attributes, returning a bag of attributes that pass the filter.
at line 134
ComponentAttributeBag
whereStartsWith(string|array $needles)
Return a bag of attributes that have keys starting with the given value / pattern.
at line 146
ComponentAttributeBag
whereDoesntStartWith(string|array $needles)
Return a bag of attributes with keys that do not start with the given value / pattern.
at line 158
ComponentAttributeBag
thatStartWith(string|array $needles)
Return a bag of attributes that have keys starting with the given value / pattern.
at line 166
ComponentAttributeBag
onlyProps(mixed $keys)
Only include the given attribute from the attribute array.
at line 174
ComponentAttributeBag
exceptProps(mixed $keys)
Exclude the given attribute from the attribute array.
at line 182
ComponentAttributeBag
class(mixed $classList)
Conditionally merge classes into the attribute bag.
at line 192
ComponentAttributeBag
style(mixed $styleList)
Conditionally merge styles into the attribute bag.
at line 202
ComponentAttributeBag
merge(array $attributeDefaults = [], bool $escape = true)
Merge additional attributes / values into the attribute bag.
at line 236
protected bool
shouldEscapeAttributeValue(bool $escape, mixed $value)
Determine if the specific attribute value should be escaped.
at line 250
AppendableAttributeValue
prepends(mixed $value)
Create a new appendable attribute value.
at line 258
protected mixed
resolveAppendableAttributeDefault(array $attributeDefaults, string $key, bool $escape)
Resolve an appendable attribute value default value.
at line 270
bool
isEmpty()
Determine if the attribute bag is empty.
at line 278
bool
isNotEmpty()
Determine if the attribute bag is not empty.
at line 286
array
getAttributes()
Get all of the raw attributes.
at line 294
void
setAttributes(array $attributes)
Set the underlying attributes.
at line 311
static array
extractPropNames(array $keys)
Extract "prop" names from given keys.
at line 328
string
toHtml()
Get content as a string of HTML.
at line 336
HtmlString
__invoke(array $attributeDefaults = [])
Merge additional attributes / values into the attribute bag.
at line 344
bool
offsetExists(mixed $offset)
Determine if the given offset exists.
at line 352
mixed
offsetGet(mixed $offset)
Get the value at the given offset.
at line 360
void
offsetSet(mixed $offset, mixed $value)
Set the value at a given offset.
at line 368
void
offsetUnset(mixed $offset)
Remove the value at the given offset.
at line 376
ArrayIterator
getIterator()
Get an iterator for the items.
at line 384
mixed
jsonSerialize()
Convert the object into a JSON serializable form.
at line 392
array
toArray()
Get all the attribute values.
at line 400
string
__toString()
Implode the attributes into a single HTML ready string.
at line 422
static void
flushState()
Flush all static state.