2023-10-04 18:23:30 +00:00
|
|
|
```
|
|
|
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
|
|
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
|
|
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
|
|
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
|
|
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
|
|
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
|
|
|
```
|
2023-10-10 09:39:09 +00:00
|
|
|
# abstract class Registry (Details)
|
2024-06-21 12:01:19 +00:00
|
|
|
> namespace: **VDM\Joomla\Abstraction**
|
2023-10-10 09:39:09 +00:00
|
|
|
> extends: **ActiveRegistry**
|
2023-10-04 18:23:30 +00:00
|
|
|
```uml
|
|
|
|
@startuml
|
2023-10-10 09:39:09 +00:00
|
|
|
abstract Registry #Orange {
|
2023-10-04 18:23:30 +00:00
|
|
|
# ?string $separator
|
2024-06-25 12:09:34 +00:00
|
|
|
+ set(string $path, mixed $value) : self
|
|
|
|
+ add(string $path, mixed $value, ...) : self
|
2023-10-04 18:23:30 +00:00
|
|
|
+ get(string $path, mixed $default = null) : mixed
|
2024-06-25 12:09:34 +00:00
|
|
|
+ remove(string $path) : self
|
2023-10-04 18:23:30 +00:00
|
|
|
+ exists(string $path) : bool
|
2024-06-25 12:09:34 +00:00
|
|
|
+ setSeparator(?string $value) : self
|
2023-10-04 18:23:30 +00:00
|
|
|
# getActiveKeys(string $path) : ?array
|
|
|
|
}
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::set
|
|
|
|
Sets a value into the registry using multiple keys.
|
2023-10-04 18:23:30 +00:00
|
|
|
|
|
|
|
since: 3.2.0
|
2024-06-25 12:09:34 +00:00
|
|
|
return: self
|
2023-10-04 18:23:30 +00:00
|
|
|
end note
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::add
|
|
|
|
Adds content into the registry. If a key exists,
|
2023-10-04 18:23:30 +00:00
|
|
|
it either appends or concatenates based on $asArray switch.
|
2024-01-27 07:08:12 +00:00
|
|
|
Default is $addAsArray = false (if null) in base class.
|
|
|
|
Override in child class allowed set class property $addAsArray = true.
|
2023-10-04 18:23:30 +00:00
|
|
|
|
|
|
|
since: 3.2.0
|
2024-06-25 12:09:34 +00:00
|
|
|
return: self
|
2023-10-04 18:23:30 +00:00
|
|
|
|
|
|
|
arguments:
|
|
|
|
string $path
|
|
|
|
mixed $value
|
2024-01-27 07:08:12 +00:00
|
|
|
?bool $asArray = null
|
2023-10-04 18:23:30 +00:00
|
|
|
end note
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::get
|
|
|
|
Retrieves a value (or sub-array) from the registry using multiple keys.
|
2023-10-04 18:23:30 +00:00
|
|
|
|
|
|
|
since: 3.2.0
|
|
|
|
return: mixed
|
|
|
|
end note
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::remove
|
|
|
|
Removes a value (or sub-array) from the registry using multiple keys.
|
2023-10-04 18:23:30 +00:00
|
|
|
|
|
|
|
since: 3.2.0
|
2024-06-25 12:09:34 +00:00
|
|
|
return: self
|
2023-10-04 18:23:30 +00:00
|
|
|
end note
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::exists
|
|
|
|
Checks the existence of a particular location in the registry using multiple keys.
|
2023-10-04 18:23:30 +00:00
|
|
|
|
|
|
|
since: 3.2.0
|
|
|
|
return: bool
|
|
|
|
end note
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::setSeparator
|
2023-10-04 18:23:30 +00:00
|
|
|
Sets a separator value
|
|
|
|
|
|
|
|
since: 3.2.0
|
2024-06-25 12:09:34 +00:00
|
|
|
return: self
|
2023-10-04 18:23:30 +00:00
|
|
|
end note
|
|
|
|
|
2023-10-10 09:39:09 +00:00
|
|
|
note right of Registry::getActiveKeys
|
2023-10-04 18:23:30 +00:00
|
|
|
Get that the active keys from a path
|
|
|
|
|
|
|
|
since: 3.2.0
|
|
|
|
return: ?array
|
|
|
|
end note
|
|
|
|
|
|
|
|
@enduml
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
```
|
|
|
|
██╗ ██████╗██████╗
|
|
|
|
██║██╔════╝██╔══██╗
|
|
|
|
██║██║ ██████╔╝
|
|
|
|
██ ██║██║ ██╔══██╗
|
|
|
|
╚█████╔╝╚██████╗██████╔╝
|
|
|
|
╚════╝ ╚═════╝╚═════╝
|
|
|
|
```
|
|
|
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
|
|
|
|