1
0
mirror of https://github.com/jupeter/clean-code-php.git synced 2025-09-25 21:49:04 +02:00

return self in Car fluent interfaces

This commit is contained in:
Peter Gribanov
2017-09-14 15:25:40 +03:00
committed by GitHub
parent 199392497e
commit bcc9eafda5

View File

@@ -1299,6 +1299,7 @@ class Employee
**[⬆ back to top](#table-of-contents)** **[⬆ back to top](#table-of-contents)**
### Avoid fluent interfaces ### Avoid fluent interfaces
A [Fluent interface](https://en.wikipedia.org/wiki/Fluent_interface) is an object A [Fluent interface](https://en.wikipedia.org/wiki/Fluent_interface) is an object
oriented API that aims to improve the readability of the source code by using oriented API that aims to improve the readability of the source code by using
[Method chaining](https://en.wikipedia.org/wiki/Method_chaining). [Method chaining](https://en.wikipedia.org/wiki/Method_chaining).
@@ -1317,6 +1318,7 @@ For more informations you can read the full [blog post](https://ocramius.github.
on this topic written by [Marco Pivetta](https://github.com/Ocramius). on this topic written by [Marco Pivetta](https://github.com/Ocramius).
**Bad:** **Bad:**
```php ```php
class Car class Car
{ {
@@ -1324,7 +1326,7 @@ class Car
private $model = 'Accord'; private $model = 'Accord';
private $color = 'white'; private $color = 'white';
public function setMake(string $make): Car public function setMake(string $make): self
{ {
$this->make = $make; $this->make = $make;
@@ -1332,7 +1334,7 @@ class Car
return $this; return $this;
} }
public function setModel(string $model): Car public function setModel(string $model): self
{ {
$this->model = $model; $this->model = $model;
@@ -1340,7 +1342,7 @@ class Car
return $this; return $this;
} }
public function setColor(string $color): Car public function setColor(string $color): self
{ {
$this->color = $color; $this->color = $color;
@@ -1362,6 +1364,7 @@ $car = (new Car())
``` ```
**Good:** **Good:**
```php ```php
class Car class Car
{ {