Home > Backend Development > PHP Tutorial > Simple examples of using traits in PHP, phptraits examples_PHP tutorial

Simple examples of using traits in PHP, phptraits examples_PHP tutorial

WBOY
Release: 2016-07-13 09:54:05
Original
1111 people have browsed it

A simple example of using traits in PHP, an example of phptraits

The traits in PHP 5.4 are newly introduced features, and I really don’t know how to translate them accurately into Chinese. Its actual purpose is to use multiple inheritance in some situations, but PHP does not have multiple inheritance, so such a thing was invented.
Traits can be understood as a set of methods that can be called by different classes, but traits are not classes! Cannot be instantiated. Let’s take an example to look at the syntax first:

<&#63;php
trait myTrait{
  function traitMethod1(){}
  function traitMethod2(){}

}

//然后是调用这个traits,语法为:
class myClass{
  use myTrait;
}

//这样就可以通过use myTraits,调用Traits中的方法了,比如:
$obj = new myClass();
$obj-> traitMethod1 ();
$obj-> traitMethod2 (); 
>
Copy after login

Next, let’s explore why traits are used. For example, there are two classes, business and Individual. They both have address attributes. The traditional approach is to Abstract a parent class that both classes have common characteristics, such as client, and set the access attributes address, business and individual in the client class to inherit them respectively, as shown in the following code:

// Class Client 
class Client { 
  private $address; 
  public getAddress() { 
    return $this->address; 
  }    
  public setAddress($address) { 
    $this->address = $address;  
  } 
} 
   
class Business extends Client{ 
  //这里可以使用address属性 
} 

// Class Individual 
class Individual extends Client{ 
//这里可以使用address属性 
} 
Copy after login

But what if there is another class called order that needs to access the same address attribute? The order class cannot inherit the client class because this does not comply with the principles of OOP. Traits come in handy at this time. You can define a trait to define these public properties.

// Trait Address
trait Address{
  private $address;
  public getAddress() {
    eturn $this->address;
  }
  public setAddress($address) {
    $this->address = $address;
  }
}
// Class Business
class Business{
  use Address;
  // 这里可以使用address属性
}
// Class Individual
class Individual{
  use Address;
  //这里可以使用address属性
}
// Class Order
class Order{
  use Address;
  //这里可以使用address属性
}   
Copy after login

This is much more convenient!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/998800.htmlTechArticleA simple example of using traits in PHP, phptraits example Traits in PHP 5.4 is a newly introduced feature, and it is also available in Chinese I really don’t know how to translate it accurately. Its actual purpose is to provide some occasions...
Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template