Added support for InputHandler::exists to check array of indexes.

- Updated documentation to reflect changes.
This commit is contained in:
Simon Sessingø
2021-05-20 15:03:56 +02:00
parent 03ef9dfb74
commit ece9d30905
2 changed files with 37 additions and 3 deletions
+22
View File
@@ -77,6 +77,7 @@ You can donate any amount of your choice by [clicking here](https://www.paypal.c
- [Get parameter object](#get-parameter-object) - [Get parameter object](#get-parameter-object)
- [Managing files](#managing-files) - [Managing files](#managing-files)
- [Get all parameters](#get-all-parameters) - [Get all parameters](#get-all-parameters)
- [Check if parameters exists](#check-if-parameters-exists)
- [Events](#events) - [Events](#events)
- [Available events](#available-events) - [Available events](#available-events)
- [Registering new event](#registering-new-event) - [Registering new event](#registering-new-event)
@@ -1236,8 +1237,11 @@ $values = input()->all([
All object implements the `IInputItem` interface and will always contain these methods: All object implements the `IInputItem` interface and will always contain these methods:
- `getIndex()` - returns the index/key of the input. - `getIndex()` - returns the index/key of the input.
- `setIndex()` - set the index/key of the input.
- `getName()` - returns a human friendly name for the input (company_name will be Company Name etc). - `getName()` - returns a human friendly name for the input (company_name will be Company Name etc).
- `setName()` - sets a human friendly name for the input (company_name will be Company Name etc).
- `getValue()` - returns the value of the input. - `getValue()` - returns the value of the input.
- `setValue()` - sets the value of the input.
`InputFile` has the same methods as above along with some other file-specific methods like: `InputFile` has the same methods as above along with some other file-specific methods like:
@@ -1253,6 +1257,24 @@ All object implements the `IInputItem` interface and will always contain these m
--- ---
### Check if parameters exists
You can easily if multiple items exists by using the `exists` method. It's simular to `value` as it can be used
to filter on request-methods and supports both `string` and `array` as parameter value.
**Example:**
```php
if(input()->exists(['name', 'lastname'])) {
// Do stuff
}
/* Similar to code above */
if(input()->exists('name') && input()->exists('lastname')) {
// Do stuff
}
```
# Events # Events
This section will help you understand how to register your own callbacks to events in the router. This section will help you understand how to register your own callbacks to events in the router.
+15 -3
View File
@@ -293,14 +293,26 @@ class InputHandler
} }
/** /**
* Check if a input-item exist * Check if a input-item exist.
* If an array is as $index parameter the method returns true if all elements exist.
* *
* @param string $index * @param string|array $index
* @param array ...$methods * @param array ...$methods
* @return bool * @return bool
*/ */
public function exists(string $index, ...$methods): bool public function exists($index, ...$methods): bool
{ {
// Check array
if(is_array($index) === true) {
foreach($index as $key) {
if($this->value($key, null, ...$methods) === null) {
return false;
}
}
return true;
}
return $this->value($index, null, ...$methods) !== null; return $this->value($index, null, ...$methods) !== null;
} }