Traits方法怎么在PHP和Laravel中使用

Traits方法怎么在PHP和Laravel中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

PHP Traits是什么?

Traits方法怎么在PHP和Laravel中使用

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

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

traitSharePost{
publicfunctionshare($item)
{
return'sharethispost';
}
}

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

classPost{
useSharePost;
}
classComment{
useSharePost;
}

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

$post=newPost;
echo$post->share('');//'sharethispost'
$comment=newComment;
echo$comment->share('');//'sharethispost'

Traits 如何工作 ?

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

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

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

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

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

首先我在项目的 Http 目录下创建一个Traits文件夹,并且新建了一个名叫 BrandsTrait.php 的Trait文件

使用它就像这样:

useApp\Http\Traits\BrandsTrait;

classYourControllerextendsController{
useBrandsTrait;

publicfunctionaddProduct(){
$brands=$this->brandsAll();
}
}

这是我的 BrandsTrait.php

<?php
namespaceApp\Http\Traits;
useApp\Brand;
traitBrandsTrait{
publicfunctionbrandsAll(){
//从品牌表中获取所有品牌.
$brands=Brand::all();

return$brands;
}
}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。

发布于 2021-03-24 01:22:01
收藏
分享
海报
0 条评论
165
上一篇:怎么在python中对元素进行长截图 下一篇:怎么在SpringBoot中使用AOP技术操作日志
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码