自php5.4.0 起,php实现了一种代码复用的方法,称为trait。为了实际使用trait,trait和class指定类名一样,首先需要指定trait名称,在定义的trait模块中,可以定义方法,下面我们就来看看本篇文章的详细内容。

创建trait所需的任务是就是上面的“确定trait名称”“定义所需方法”。
我们来看一下trait的使用方法
trait的定义
立即学习“PHP免费学习笔记(深入)”;
trait 特征名{
function 方法名1() {
}
function 方法名2() {
}
}trait的使用
class 类名 {
// 这使得类与定义方法1和方法2的状态相同
use trait名;
}具体的示例
《PHP设计模式》首先介绍了设计模式,讲述了设计模式的使用及重要性,并且详细说明了应用设计模式的场合。接下来,本书通过代码示例介绍了许多设计模式。最后,本书通过全面深入的案例分析说明了如何使用设计模式来计划新的应用程序,如何采用PHP语言编写这些模式,以及如何使用书中介绍的设计模式修正和重构已有的代码块。作者采用专业的、便于使用的格式来介绍相关的概念,自学成才的编程人员与经过更多正规培训的编程人员
341
在下面的代码中,我们准备了这个book类和pen类,并且在这两个类中都有一个计算价格的过程,包括共同的税,所以我们用trait定义了这个过程。
我认为可以通过简单地编写“use TaxCalculator;”来说明可以使用含税计算功能。
如果在book类/ pen类中定义了此值,则要写入的代码量会增加,并且在进行更正时必须修改这两个类。
使用trait会减少代码量,即使发生修复,可维护性也很高,因为它只需要修复TaxCalculator。
// 税的计算处理
trait TaxCalculator {
private $price; // 价格
private $tax = 0.08; // 税收
// 返还含税的价格
public function taxIncluded() {
return $this->price * (1 + $this->tax);
}
}
// 表示book类的信息
class Book {
use TaxCalculator;
public $title; // 标题
public $author; // 作者
public function __construct($price, $title, $author) {
$this->price = $price;
$this->title = $title;
$this->author = $author;
}
}
// 表示pen类的信息
class Pen {
use TaxCalculator;
public $color; // 颜色
public $type; // 自动笔或者铅笔
public function __construct($price, $color, $type) {
$this->price = $price;
$this->color = $color;
$this->type = $type;
}
}
// 把书和笔实例化
$book = new Book(80, ""红楼梦"", ""曹雪芹"");
$pen = new Pen(10, ""black"", ""sharp"");
// 输出含税的价格
echo $book->taxIncluded().PHP_EOL; // 324
echo $pen->taxIncluded().PHP_EOL; // 108本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网的相关教程栏目!!!
以上就是php中的trait怎么使用?(附示例)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号