Home>Article>Backend Development> Detailed introduction to the use of traits in PHP

Detailed introduction to the use of traits in PHP

angryTom
angryTom Original
2019-07-16 10:48:12 2593browse

This article mainly introduces how to use traits in PHP. I personally think it is quite good. Now I will share it with you and give it as a reference. Come and have a look together. The text begins below.

To put it simply, thetrait keywordis used in PHP to solve the problem ofa class that wants to integrate the attributes and methods of a base class, but also wants to have methods of other base classes, and trait is generally used in conjunction with use. Please look at the sample code below

carName}
"; } } class Person { //创建一个基类 public function eat() { //定义一个方法 echo "eat
"; } } class Student extends Person { //创建一个子类继承Person类 use Drive; //使用trait定义的类Drive public function study() { //定义一个方法 echo "study
"; } } $student = new Student(); //创建对象 $student->study(); //调用自己定义的方法 $student->eat(); //调用父类方法 $student->driving(); //调用trait定义的类Drive的方法 ?>

The running effect diagram is shown in the figure

Detailed introduction to the use of traits in PHP

In the above example, theStudent class inherits Person, with With the eat method, and by combining Drive, we have the driving method and the attribute carName.

If a property or method with the same name exists inTrait,base classandthis class, which one will eventually be retained? Where is one?

"; } public function driving() { echo "我是trait类的方法driving()
"; //定义一个方法 } } class Person { //创建父类 public function hello() { //定义一个方法 echo "我是父类的方法hello()
"; } public function driving() { //定义一个方法 echo "我是父类的方法driving()
"; } } class Student extends Person { //创建子类继承Person类 use Drive; //使用trait定义的类Drive public function hello() { //定义一个方法 echo "我是子类的方法hello()
"; } } $student = new Student(); //创建对象 $student->hello(); //调用hello方法 $student->driving(); //调用deiving方法 ?>

The running effect is shown in the figure

Detailed introduction to the use of traits in PHPTherefore, it is concluded that when the method or attribute has the same name,The method in the current classwillMethods to override trait, in this example, the hello() method of student overrides the hello() method in trait. Thetraitmethods override themethodsin the base class. In this example, the trait's driving() method overrides the driving() method in the Person class.

If you want to know more about php, you can go to thephp moduleof the website to learn more interesting knowledge.

The above is the detailed content of Detailed introduction to the use of traits in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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
Previous article:php magic constant tutorial Next article:php magic constant tutorial