ComponentAttributeBag
class ComponentAttributeBag implements Arrayable, ArrayAccess, IteratorAggregate, JsonSerializable, Htmlable, Stringable (View source)
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.
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 from the instance as a Carbon 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.
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.
Details
$this|TWhenReturnType
when($value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) truthy.
$this|TUnlessReturnType
unless($value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) falsy.
array
all(array|mixed|null $keys = null)
Get all the attribute values.
protected mixed
data(string|null $key = null, mixed $default = null)
Retrieve data from the instance.
bool
exists(string|array $key)
Determine if the data contains a given key.
bool
has(string|array $key)
Determine if the data contains a given key.
bool
hasAny(string|array $keys)
Determine if the instance contains any of the given keys.
$this|mixed
whenHas(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance contains the given key.
bool
filled(string|array $key)
Determine if the instance contains a non-empty value for the given key.
bool
isNotFilled(string|array $key)
Determine if the instance contains an empty value for the given key.
bool
anyFilled(string|array $keys)
Determine if the instance contains a non-empty value for any of the given keys.
$this|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.
bool
missing(string|array $key)
Determine if the instance is missing a given key.
$this|mixed
whenMissing(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance is missing the given key.
protected bool
isEmptyString(string $key)
Determine if the given key is an empty string for "filled".
Stringable
str(string $key, mixed $default = null)
Retrieve data from the instance as a Stringable instance.
Stringable
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.
Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false.
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.
Carbon|null
date(string $key, string|null $format = null, UnitEnum|string|null $tz = null)
Retrieve data from the instance as a Carbon instance.
TEnum|null
enum(string $key, TEnum> $enumClass, TEnum|null $default = null)
Retrieve data from the instance as an enum.
TEnum[]
enums(string $key, TEnum> $enumClass)
Retrieve data from the instance as an array of enums.
protected bool
isBackedEnum(class-string $enumClass)
Determine if the given enum class is backed.
array
array(array|string|null $key = null)
Retrieve data from the instance as an array.
Collection
collect(array|string|null $key = null)
Retrieve data from the instance as a collection.
ComponentAttributeBag
only(mixed $keys)
Only include the given attribute from the attribute array.
ComponentAttributeBag
except(mixed|array $keys)
Exclude the given attribute from the attribute array.
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks 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 $attributes = [])
Create a new component attribute bag instance.
mixed
first(mixed $default = null)
Get the first attribute's value.
mixed
get(string $key, mixed $default = null)
Get a given attribute from the attribute array.
ComponentAttributeBag
filter(callable $callback)
Filter the attributes, returning a bag of attributes that pass the filter.
ComponentAttributeBag
whereStartsWith(string|string[] $needles)
Return a bag of attributes that have keys starting with the given value / pattern.
ComponentAttributeBag
whereDoesntStartWith(string|string[] $needles)
Return a bag of attributes with keys that do not start with the given value / pattern.
ComponentAttributeBag
thatStartWith(string|string[] $needles)
Return a bag of attributes that have keys starting with the given value / pattern.
ComponentAttributeBag
onlyProps(mixed|array $keys)
Only include the given attribute from the attribute array.
ComponentAttributeBag
exceptProps(mixed|array $keys)
Exclude the given attribute from the attribute array.
ComponentAttributeBag
class(mixed|array $classList)
Conditionally merge classes into the attribute bag.
ComponentAttributeBag
style(mixed|array $styleList)
Conditionally merge styles into the attribute bag.
ComponentAttributeBag
merge(array $attributeDefaults = [], bool $escape = true)
Merge additional attributes / values into the attribute bag.
protected bool
shouldEscapeAttributeValue(bool $escape, mixed $value)
Determine if the specific attribute value should be escaped.
AppendableAttributeValue
prepends(mixed $value)
Create a new appendable attribute value.
protected mixed
resolveAppendableAttributeDefault(array $attributeDefaults, string $key, bool $escape)
Resolve an appendable attribute value default value.
bool
isEmpty()
Determine if the attribute bag is empty.
bool
isNotEmpty()
Determine if the attribute bag is not empty.
array
getAttributes()
Get all of the raw attributes.
void
setAttributes(array $attributes)
Set the underlying attributes.
static array
extractPropNames(array $keys)
Extract "prop" names from given keys.
string
toHtml()
Get content as a string of HTML.
HtmlString
__invoke(array $attributeDefaults = [])
Merge additional attributes / values into the attribute bag.
bool
offsetExists(string $offset)
Determine if the given offset exists.
mixed
offsetGet(string $offset)
Get the value at the given offset.
void
offsetSet(string $offset, mixed $value)
Set the value at a given offset.
void
offsetUnset(string $offset)
Remove the value at the given offset.
Traversable
getIterator()
Get an iterator for the items.
mixed
jsonSerialize()
Convert the object into a JSON serializable form.
toArray()
Get all the attribute values.
string
__toString()
Implode the attributes into a single HTML ready string.