如何在PHP框架里把Traits使用起来
我们都知道php只能使用单一继承,这意味着一个类只能从另一个类继承。 例如,您可能想从几个不同的类继承方法以防止代码重复。 php 5.4中添加了新的语言特性traits,而且它在laravel框架中得到了广泛使用。
traits 的定义
trait是php等单一继承语言中的代码重用机制。 trait的目的是减少单一继承语言的某些限制,并允许开发人员在不同类层次结构下的几个独立类中*重用方法。
trait的语义组成和类定义在某种程度上降低了代码的复杂性,并避免了与多重继承和mixins相关的一些典型问题。
trait与类非常相似,但其目的只是以更好和一致的方式聚合某些方法。 特性本身无法实例化。 除了传统的继承,它还可以水平组合行为,换句话说,类应用程序不需要继承
php traits是什么?
trait 是另一个类中包含的一组简单方法。trait 就像一个抽象类,不能单独实例化。一个trait 示例如下所示:
然后,您可以在其他类中使用trait,例如:
现在,如果您想从这些类中创建新对象,您将发现它们都可以使用share()方法:
traits 如何工作 ?
从上面的示例中可以看到,尽管post和comment本身没有定义方法,但是它们可以调用share()方法。 trait 是一种在运行时“复制并粘贴”代码的方法。 这意味着将trait复制到post and comment,因此在实例化新实例时,可以直接调用share()方法。 我定期检查我的代码以及如何构造新代码,以便在将来快速构建新功能并轻松启动新项目。
那么,怎样在laravel中使用traits呢?
首先我在项目的 http 目录下创建一个traits文件夹,并且新建了一个名叫 activitycoupontrait.php 的trait文件,写了一个新用户注册的trait;去寻找userbaseservice里的adduser方法。
接下来找userbaseservice里的adduser方法。
这个时候我们就可以在controller里直接去调用了。首先要先引入上面的那个trait
然后就可以用了
上一篇: Vim 基本的使用
推荐阅读