Home Backend Development PHP Tutorial How to use traits in php? (with examples)

How to use traits in php? (with examples)

Dec 26, 2018 pm 01:17 PM
trait

Since PHP5.4.0, PHP has implemented a code reuse method called trait. In order to actually use the trait, the trait is the same as the class name. You first need to specify the trait name. In the defined trait module, you can define methods. Let's take a look at the details of this article.

How to use traits in php? (with examples)

The tasks required to create a trait are the above "determine the trait name" and "define the required method".

Let’s take a look at how to use trait

Definition of trait

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

    function 方法名2() {
    }
}
Copy after login

Use of trait

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

Specific example

In the following code, we have prepared the book class and pen class, and there is a calculation in both classes The price process includes common taxes, so we define this process with traits.

I think it is possible to illustrate that the tax-included calculation function can be used by simply writing "use TaxCalculator;"

If this value is defined in the book class/pen class, the amount of code to be written will increase, and both classes must be modified when making corrections.

Using traits will reduce the amount of code, and even if a fix occurs, the maintainability is high because it only needs to fix the 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
Copy after login

This article ends here. For more exciting content, you can pay attention to the relevant tutorial columns of the How to use traits in php? (with examples) Chinese website! ! !

The above is the detailed content of How to use traits in php? (with examples). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP trait DTO: Simplifying the development of data transfer objects PHP trait DTO: Simplifying the development of data transfer objects Oct 12, 2023 am 09:04 AM

PHPtraitDTO: Simplifying the development of data transfer objects Introduction: In modern software development, data transfer objects (DataTransferObject, referred to as DTO) play an important role. DTO is a pure data container used to transfer data between layers. However, during the development process, developers need to write a large amount of similar code to define and operate DTOs. In order to simplify this process, the trait feature was introduced in PHP. We can use the trait feature to

In-depth understanding of the design patterns and practices of PHP trait DTO In-depth understanding of the design patterns and practices of PHP trait DTO Oct 12, 2023 am 08:48 AM

In-depth understanding of the design patterns and practices of PHPtraitDTO Introduction: In PHP development, design patterns are an essential part. Among them, DTO (DataTransferObject) is a commonly used design pattern used to encapsulate data transfer objects. In the process of implementing DTO, using traits can effectively improve the reusability and flexibility of the code. This article will delve into the design patterns and practices of traitDTO in PHP

PHP trait DTO: a key tool for optimizing the data transfer process PHP trait DTO: a key tool for optimizing the data transfer process Oct 12, 2023 pm 03:10 PM

PHPtraitDTO: A key tool for optimizing the data transmission process. Specific code examples are required. Introduction: During the development process, data transmission is a very common requirement, especially when data is transferred between different levels. In the process of transmitting this data, we often need to process, verify or convert the data to meet different business needs. In order to improve the readability and maintainability of the code, we can use PHPtraitDTO (DataTransferObject) to optimize

PHP trait DTO: achieving simplicity and flexibility in data transfer objects PHP trait DTO: achieving simplicity and flexibility in data transfer objects Oct 12, 2023 am 10:21 AM

PHPtraitDTO: Implementing simplicity and flexibility of data transfer objects Introduction: In the PHP development process, data transmission and processing are often involved. The DataTransferObject (DTO for short) is a design pattern that is used to transfer data between different layers. During the transmission process, DTO simplifies data operations by encapsulating data and providing public access methods. This article will introduce how to use PHPtrait to implement DT

Implement a highly customizable data transfer framework using PHP trait DTO Implement a highly customizable data transfer framework using PHP trait DTO Oct 12, 2023 pm 12:46 PM

Implementing a highly customizable data transfer framework using PHPtraitDTO As websites and applications become more complex, data transfer becomes more and more important. In PHP, using DataTransferObject (DTO for short) to handle data transfer can greatly simplify the code and improve maintainability and scalability. This article will introduce how to use PHPtrait and DTO to implement a highly customizable data transfer framework and provide corresponding code examples.

PHP trait DTO: elegant data transfer object pattern PHP trait DTO: elegant data transfer object pattern Oct 12, 2023 am 08:34 AM

PHPtraitDTO: Elegant Data Transfer Object Pattern Overview: Data Transfer Object (DTO for short) is a design pattern used to transfer data between different layers. In applications, it is often necessary to obtain data from a database or external service and pass it between different layers of the application. The DTO mode can make data transmission more concise and clear, and also facilitates expansion and maintenance. In PHP, we can use traits to implement DTO

PHP trait DTO: a key tool for optimizing the data transfer process PHP trait DTO: a key tool for optimizing the data transfer process Oct 12, 2023 am 09:27 AM

PHPtraitDTO: A key tool for optimizing the data transmission process. Specific code examples are required. In the development process, data transmission is a very critical link. How to transmit data efficiently has become one of the problems that developers need to solve. In PHP language, using traitDTO (DataTransferObject) can optimize the data transmission process and improve the efficiency of data transmission. This article will introduce what traitDTO is and how to use it to optimize the data transfer flow

How to extend custom PHP functions using traits? How to extend custom PHP functions using traits? Apr 23, 2024 am 09:27 AM

How to extend custom PHP functions using traits? Define a trait that contains extension methods. Use the use keyword to include traits into custom functions. Access trait methods through $this in custom functions.

See all articles