性格怎么在PHP Laravel中使用

  介绍

这篇文章给大家介绍特质怎么在PHP Laravel中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

特征是一种在单继承语言(如PHP)中重用代码的机制.Trait旨在通过使开发人员能够在生活在不同类层次结构中的多个独立类中自由地重用方法集来减少单继承的某些限制.Traits和类组合的语义以降低复杂性的方式定义,并避免了与多重继承和mixin相关的典型问题。

特征类似于类,但仅用于以细粒度和一致的方式对功能进行分组。无法自行实例化特征。它是对传统继承的补充,可以实现行为的横向组合;也就是说,类成员的应用程序不需要继承。

<强>什么是PHP特质?

特征仅仅是您希望包含在另一个类中的一组方法。与抽象类一样,品质不能自己实例化。

特质的一个例子可以是:

trait  SharePost  {      ,      ,public  function 分享(美元)      ,{      return 才能;& # 39;share 却;能够发布# 39;;      ,}      ,      }

然后你可以把这个特征包含在其他类中,就像这样:

class  Post  {      ,      ,use  SharePost;      ,      }      ,      class  Comment  {      ,      ,use  SharePost;      ,      }

现在,如果要从这些类中创建新对象,您会发现它们都有分享()方法可用:

post 美元;=,new 文章;      echo 后→美元份额(& # 39;& # 39;),,      ,      $ comment =, new 评论;      echo 评论→美元份额(& # 39;& # 39;);

特征如何运作?

从上面的示例中可以看的出,尽管没有定义该方法,但是对象的帖子和评论对象都具有分享()可用的方法。

特征基本上只是一种在运行时“复制和粘贴“代码的方法。

这意味着特质被复制到帖子和评论类中,因此当您实例化一个新实例时,分享()方法代码将可用。

我经常检查我的代码以及如何构建我的代码,以便可以快速完成未来的功能添加,并且新项目可以轻松扩展以前的想法。

如何在laravel中使用特征?

我在我的Http目录中创建了一个特质目录,其中有一个名为的TraitBrandsTrait。php

use 应用\ Http \ \ BrandsTrait特征;      class  YourController  extends  Controller  {      use 才能;BrandsTrait;      public 才能;function  addProduct (), {      ,,,brands 美元;=,$ this→brandsAll ();      ,,}      }

这是我的BrandsTrait。php

& lt; php ?      namespace 应用\ Http \特征;use 应用\品牌;      trait  BrandsTrait  {      public 才能;function  brandsAll (), {      ,,,//,从品牌表中获取所有品牌      ,,,brands 美元;=,品牌:所有(),,,,,return 美元品牌;      ,,}      }

关于特质怎么在PHP Laravel中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

性格怎么在PHP Laravel中使用