How to write trait in yii2?

谁说胖子不能爱 提交于 2019-12-11 23:28:42

问题


Traits are much more efficient than behaviors as behaviors are objects that take both time and memory.so can anyone explain how i can write trait in yii2 ?


回答1:


In General:

A Trait is similar to a class, but only intended to group functionality in a fine-grained and consistent way. It is not possible to instantiate a Trait on its own.

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo 'World';
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

Use behavior then traits mainly for YII.

Check this out:
http://www.yiiframework.com/doc-2.0/guide-concept-behaviors.html#comparison-with-traits

Reasons to Use Behaviors:

Behavior classes, like normal classes, support inheritance. Traits, on the other hand, can be considered as language-supported copy and paste. They do not support inheritance.



来源:https://stackoverflow.com/questions/34649600/how-to-write-trait-in-yii2

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!