Everything base on Interface and Trait

with Interface and Trait, we can seamless integrated 3th party library to Yii

for example
we have “3thparty/DiviceDetect” library, and integrated to Yii

yii/base/ComponentInterface , yii/base/ComponentTrait

we can create new yii component like this :

class 3thparty/yii/DiviceDetect 
   extend 3thparty/DiviceDetect 
   implement yii/base/ComponentInterface
{
   use yii/base/ComponentTrait;

}

next we can check like this

if ($cls instanceof yii/base/ComponentInterface) {
    echo "yes";
}
1 Like

We’re getting rid of components in Yii 3. Basically any class would be OK to register as a service (component).

4 Likes