1
0
mirror of https://github.com/jupeter/clean-code-php.git synced 2025-10-01 16:36:42 +02:00

Merge pull request #26 from peter-gribanov/default_arguments

[Bugfix] Use default arguments in PHP 7+
This commit is contained in:
Tomáš Votruba
2017-09-05 14:10:38 +02:00
committed by GitHub

View File

@@ -186,22 +186,40 @@ class Car
### Use default arguments instead of short circuiting or conditionals ### Use default arguments instead of short circuiting or conditionals
**Bad:** **Not good:**
This is not good because `$breweryName` can be `NULL`.
```php ```php
function createMicrobrewery($name = null) { function createMicrobrewery($breweryName = 'Hipster Brew Co.')
$breweryName = $name ?: 'Hipster Brew Co.'; {
   // ...
}
```
**Not bad:**
This opinion is more understandable than the previous version, but it better controls the value of the variable.
```php
function createMicrobrewery($name = null)
{
   $breweryName = $name ?: 'Hipster Brew Co.';
// ... // ...
} }
``` ```
**Good**: **Good**:
```php
function createMicrobrewery($breweryName = 'Hipster Brew Co.') {
// ...
}
If you support only PHP 7+, then you can use [type hinting](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration) and be sure that the `$breweryName` will not be `NULL`.
```php
function createMicrobrewery(string $breweryName = 'Hipster Brew Co.')
{
   // ...
}
``` ```
**[⬆ back to top](#table-of-contents)** **[⬆ back to top](#table-of-contents)**
## **Functions** ## **Functions**
### Function arguments (2 or fewer ideally) ### Function arguments (2 or fewer ideally)