Trait 是单继承语言(如 PHP )中的一种代码复用机制。这篇文章主要介绍了在 PHP 和 Laravel 中使用 Traits的方法,需要的朋友可以参考下
PHP Traits是什么?
Trait 是一组简单的包含在另一个类中的方法。 Trait 就像一个抽象类一样,无法单独实例化。
一个 Trait 示例就像下面这样:
trait SharePost {
public function share($item)
{
return 'share this post';
}
}
然后,您可以在其他类中这样使用 Trait :
class Post {
use SharePost;
}
class Comment {
use SharePost;
}
现在,如果您要从这些类中创建新对象,您会发现它们都可以使用 share() 方法:
$post = new Post;
echo $post->share(''); // 'share this post'
$comment = new Comment;
echo $comment->share(''); // 'share this post'
Traits 如何工作 ?
从上面例子可以看到, 尽管 Post 和 Comment 本身没有定义方法,但是他们可以调用 share() 方法。
Trait 是运行时 「复制和粘贴」 代码的一种方式.
这意味着 Trait 被复制到 Post and Comment ,因此当你实例化一个新实例, 可以直接调用 share() 方法。
我会定期检查我的代码以及如何构造新代码,目的是为了将来可以快速构建新功能,并且可以轻松的开启新项目。
那么,怎样在laravel中使用traits呢?
首先我在项目的 Http 目录下创建一个Traits文件夹,并且新建了一个名叫 BrandsTrait.php 的Trait文件
使用它就像这样:
use App\Http\Traits\BrandsTrait;
class YourController extends Controller {
use BrandsTrait;
public function addProduct() {
$brands = $this->brandsAll();
}
}
这是我的 BrandsTrait.php
<?php
namespace App\Http\Traits;
use App\Brand;
trait BrandsTrait {
public function brandsAll() {
// 从品牌表中获取所有品牌.
$brands = Brand::all();
return $brands;
}
}
甚至, 如果您在模型中找到另一种与产品和品牌相互作用有关的通用方法,那么将代码写在该 trait 是个不错的选择。
总结
以上所述是小编给大家介绍的在 PHP 和 Laravel 中使用 Traits的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
本文标题为:在 PHP 和 Laravel 中使用 Traits的方法
- PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
- Laravel balde模板文件中判断数据为空方法 2023-08-30
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02
- laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
- laravel通用化的CURD的实现 2023-03-17
- PHP中PDO事务处理操作示例 2022-10-15
- PHP简单实现二维数组的矩阵转置操作示例 2022-10-02
- PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
- php微信公众号开发之秒杀 2022-11-23
- 用nohup命令实现PHP的多进程 2023-09-02