Conditions | 3 |
Paths | 4 |
Total Lines | 18 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php |
||
35 | public function enum(string $name, $values = null): db\ColumnSchemaBuilder |
||
36 | { |
||
37 | $values = $this->fetchEnums($values); |
||
38 | |||
39 | if (!empty($values)) { |
||
40 | $this->addEnum($name, $values); |
||
|
|||
41 | } |
||
42 | |||
43 | $column = $this->getDb()->getSchema()->createColumnSchemaBuilder($name); |
||
44 | |||
45 | if (\in_array(null, $values, true)) { |
||
46 | $column->null(); |
||
47 | } else { |
||
48 | $column->notNull(); |
||
49 | } |
||
50 | |||
51 | return $column; |
||
52 | } |
||
53 | } |
||
54 |
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
Idable
provides a methodequalsId
that 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.