# Fluent Setters with Doctrine Entities

Getters and setters are a necessity with Doctrine entities. Instead of returning void with a setter, you can reduce the excess code in places like controllers where setters are frequently used by making them fluent.

Before going into detail, a quick explanation of what a fluent method is: This refers to a set of methods that self-referentially return the current object to allow for method chaining.

An example of using setters without fluent methods:

$employee = new Employee();$employee->setName('Joe');
$employee->setTitle('CEO'); Expressing the same code with fluent methods in place: $employee = new Employee();
$employee ->setName('Joe') ->setTitle('CEO'); Both approaches are perfectly valid and the result will be the same; however, the flow of code reads much more cleanly using the fluent approach. To implement this in your entities, just return $this at the end of each setter. For example, if your setters look like the following (using our Employee entity):

public function setName(string $name): void {$this->name = $name; } Just change them to the following: public function setName(string$name): Employee
{
$this->name =$name;
return \$this;
}