首页 > 作文

如何在 PHP 和 Laravel 中使用 Traits

更新时间:2023-04-07 21:29:17 阅读: 评论:0

事实上,php 作为一门编程语言存在的问题之一,就是你只能使用单继承。这意味着一个类只能从另一个类中继承。例如,可能希望从几个不同的类继承方法,以防止代码重复。在 php 5.4 中 一个新的语言特性被添加进来,这就是众所周知的 traits,它在 laravel 框架中被广泛使用。

php 官方网站给出了 traits 的定义,如下:

“ trait 是单继承语言(如 php )中的一种代码复用机制。 trai 的目的是减少单继承语言的一些限制,能让开发者自由的重用在不同的类层次结构下几个独立类中的方法。 trait 的语义组合与类的定义在某种程度上减少了代码的复杂度,避免了与多继承和 mixin美国移民有什么政策s 相关的一些典型问题。

trait 与类非常相似,但它的目的仅仅是用更好、一致的方式汇聚一些方法。 trait 本身不能被实例化。除了传统继承之外,它能水平组合行为,换言之,类的应用程序不需要继承。”

php traits是什么?

trait 是一组简单的包含在另一个类中的方法。 trait 就像一个抽象类一样,无法单独实例化。

一个 trait 示例就像下面这样:

1 trait sharepost {2 3   public function share($item)4   {5     return 'share this post';6   }7 8 }

然后,您可以在其他类中这样使用 trait :

 1 class post { 2  3   u sharepost; 4  5 } 6  7 class comment { 8  9   u sharepost;10 11 }

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

1 $post = new post;2 echo $post->share(''); // 'share this post' 3 4 $comment = new comment;5 echo $comment->share(''); // 'share this post'

traits 如何工作 ?

从上面例子可以看到, 尽管 postcomment 本身没有定义方法,但是他们可以调用 share() 方法。

trait 是运行时 「复制和粘贴」 代码的一种方式.

这意味着 trait 被复制到 post and comment ,因此当你实例化一个新实例, 可以直接调用 share() 方法。

我会定期检查我的代码以及如何构造新代码,目的是为了将来可以快速构建新功能,并且可以轻松的栗子的保存方法开启新项目。

那么,怎样在laravel中使用traits呢?

首先我在项目的http 目录下创建一个traits文件夹,并且新建了一个名叫 brandstrait.php 的trait文件

使用它就像这样:

1 u app\http\traits\b立春吃什么被称为咬春randstrait;2 3 class yourcontroller 瑞友教育extends controller {4       言简意赅是什么意思  u brandstrait;5 6         public function addproduct() {7             $brands = $this->brandsall();8         }9 }

这是我的 brandstrait.php

 1 <?php 2 namespace app\http\traits; 3  4 u app\brand; 5 trait brandstrait { 6     public function brandsall() { 7         // 从品牌表中获取所有品牌. 8         $brands = brand::all(); 9 10         return $brands;11     }12 }

甚至, 如果您在模型中找到另一种与产品和品牌相互作用有关的通用方法,那么将代码写在该 trait 是个不错的选择。

本文发布于:2023-04-07 21:29:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/3a0f28d8fbb6a243e0fa27dbe7dc026a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:如何在 PHP 和 Laravel 中使用 Traits.doc

本文 PDF 下载地址:如何在 PHP 和 Laravel 中使用 Traits.pdf

标签:方法   代码   类中   就像
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图