The trait Idable provides a method equalsId that in turn relies on the
method getId(). 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.
Loading history...
27
}
28
29
/**
30
* @return array
31
*/
32
public function getSchemalessAttributes()
33
{
34
return $this->schemalessAttributes ?? [];
35
}
36
37
/**
38
* @param $key
39
* @return mixed|SchemalessAttributes
40
*/
41
public function __get($key)
42
{
43
if (in_array($key, $this->getSchemalessAttributes())) {
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.