欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何在PHP框架里把Traits使用起来

程序员文章站 2022-06-05 18:14:55
我们都知道PHP只能使用单一继承,这意味着一个类只能从另一个类继承。 例如,您可能想从几个不同的类继承方法以防止代码重复。 PHP 5.4中添加了新的语言特性Traits,而且它在Laravel框架中得到了广泛使用。Traits 的定义 Trait是PHP等单一继承语言中的代码重用机制。 Trait ......

我们都知道php只能使用单一继承,这意味着一个类只能从另一个类继承。 例如,您可能想从几个不同的类继承方法以防止代码重复。  php 5.4中添加了新的语言特性traits,而且它在laravel框架中得到了广泛使用。

traits 的定义

trait是php等单一继承语言中的代码重用机制。  trait的目的是减少单一继承语言的某些限制,并允许开发人员在不同类层次结构下的几个独立类中*重用方法。

 trait的语义组成和类定义在某种程度上降低了代码的复杂性,并避免了与多重继承和mixins相关的一些典型问题。

 trait与类非常相似,但其目的只是以更好和一致的方式聚合某些方法。 特性本身无法实例化。 除了传统的继承,它还可以水平组合行为,换句话说,类应用程序不需要继承

php traits是什么?
trait 是另一个类中包含的一组简单方法。trait 就像一个抽象类,不能单独实例化。一个trait 示例如下所示:

如何在PHP框架里把Traits使用起来

 

 然后,您可以在其他类中使用trait,例如:

如何在PHP框架里把Traits使用起来

 

 现在,如果您想从这些类中创建新对象,您将发现它们都可以使用share()方法:

如何在PHP框架里把Traits使用起来

 

 traits 如何工作 ?

从上面的示例中可以看到,尽管post和comment本身没有定义方法,但是它们可以调用share()方法。 trait 是一种在运行时“复制并粘贴”代码的方法。 这意味着将trait复制到post and comment,因此在实例化新实例时,可以直接调用share()方法。 我定期检查我的代码以及如何构造新代码,以便在将来快速构建新功能并轻松启动新项目。

那么,怎样在laravel中使用traits呢?
首先我在项目的 http 目录下创建一个traits文件夹,并且新建了一个名叫 activitycoupontrait.php 的trait文件,写了一个新用户注册的trait;去寻找userbaseservice里的adduser方法。

如何在PHP框架里把Traits使用起来

 

 接下来找userbaseservice里的adduser方法。

如何在PHP框架里把Traits使用起来

 

 这个时候我们就可以在controller里直接去调用了。首先要先引入上面的那个trait

如何在PHP框架里把Traits使用起来

 

 然后就可以用了

如何在PHP框架里把Traits使用起来