| Conditions | 2 | 
| Paths | 2 | 
| Total Lines | 13 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | <?php | ||
| 23 | protected function generateSignature(): string | ||
| 24 |     { | ||
| 25 | $data = []; | ||
| 26 | $signature = new Signature( | ||
| 27 | $this->getSecurityCode() | ||
|  | |||
| 28 | ); | ||
| 29 | |||
| 30 |         foreach ($this->getSignatureParameters() as $parameter) { | ||
| 31 | $data[$parameter] = $this->getParameter($parameter); | ||
| 32 | } | ||
| 33 | |||
| 34 | return $signature->generate($data); | ||
| 35 | } | ||
| 36 | |||
| 39 | 
This check looks for methods that are used by a trait but not required by it.
To illustrate, let’s look at the following code example
The trait
Idableprovides a methodequalsIdthat in turn relies on the methodgetId(). If this method does not exist on a class mixing in this trait, the method will fail.Adding the
getId()as an abstract method to the trait will make sure it is available.