各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php中的trait怎么使用?(附示例)

管理员 2023-09-05
PHP
576

php中的trait怎么使用?(附示例)

内容导读

收集整理的这篇技术教程文章主要介绍了php中的trait怎么使用?(附示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1831字,纯文字阅读大概需要3分钟

内容图文

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

创建trait所需的任务是就是上面的“确定trait名称”“定义所需方法”。

我们来看一下trait的使用方法

trait的定义

trait  特征名{    function 方法名1() {   }    function 方法名2() {    }}

trait的使用

class 类名 {    // 这使得类与定义方法1和方法2的状态相同    use trait名;}

具体的示例

在下面的代码中,我们准备了这个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; // 324echo $pen->taxIncluded().PHP_EOL; // 108

本篇文章到这里就全部结束了,更多精彩内容大家可以关注Gxl网的相关教程栏目!!!

以上就是php中的trait怎么使用?(附示例)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php中的trait怎么使用?(附示例)全部内容,希望文章能够帮你解决php中的trait怎么使用?(附示例)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部