| Conditions | 1 | 
| Paths | 1 | 
| Total Lines | 11 | 
| Code Lines | 7 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 17 |     public function fill() { | 
            ||
| 18 |         $template = $this->getFieldTemplateClone('TEXTAREA'); | 
            ||
| 19 | |||
| 20 | $this['_TEMPLATE'] = $template;  | 
            ||
| 21 | $template->init($this, $this->control);  | 
            ||
| 22 | $this->control->addChild(new html\Str($this->getValueToUse()));  | 
            ||
| 
                                                                                                    
                        
                         | 
                |||
| 23 | |||
| 24 | $this->filled = true;  | 
            ||
| 25 | |||
| 26 | return $template;  | 
            ||
| 27 | }  | 
            ||
| 28 | |||
| 44 | 
Let’s take a look at an example:
In the above example, the authenticate() method works fine as long as you just pass instances of MyUser. However, if you now also want to pass a different implementation of User which does not have a getDisplayName() method, the code will break.
Available Fixes
Change the type-hint for the parameter:
Add an additional type-check:
Add the method to the interface: