Reader small image

You're reading from  Mastering PHP 7

Product typeBook
Published inJun 2017
Reading LevelIntermediate
PublisherPackt
ISBN-139781785882814
Edition1st Edition
Languages
Right arrow
Author (1)
Branko Ajzele
Branko Ajzele
author image
Branko Ajzele

Branko Ajzele is a respected and highly accomplished software developer, book author, solution specialist, consultant, and team leader. He currently works for Interactive Web Solutions Ltd (iWeb), where he holds the role of senior developer and is the director of iWeb's Croatia office. Branko holds several respected IT certifications, including Zend Certified PHP Engineer, Magento Certified Developer, Magento Certified Developer Plus, Magento Certified Solution Specialist, Magento 2 Certified Solution Specialist, Magento 2 Certified Professional Developer, to mention just a few. He was crowned the e-commerce Developer of the Year by the Digital Entrepreneur Awards in October 2014 for his excellent knowledge and expertise in e-commerce development.
Read more about Branko Ajzele

Right arrow

Traits


We mentioned previously that PHP is a single inheritance language. We cannot use the extends keyword to extend multiple classes in PHP. This very feature is actually a rare commodity only a handful of programming languages support, such as C++. For better or worse, multiple inheritance allows some interesting tinkering with our code structures.

The PHP Traits provide a mechanism by which we can achieve these structures, either in the context of code reuse or the grouping of functionality. The trait keyword is used to declare a Trait, as follows:

<?php

trait Formatter
{
  // Trait body
}

The body of a Trait can be pretty much anything we would put in a class. While they resemble classes, we cannot instantiate a Trait itself. We can only use the Trait from another class. To do so, we employ the use keyword within the class body, as shown in the following example:

class Ups
{
  use Formatter;

  // Class body (properties & methods)
}

To better understand how Traits can be helpful...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering PHP 7
Published in: Jun 2017Publisher: PacktISBN-13: 9781785882814

Author (1)

author image
Branko Ajzele

Branko Ajzele is a respected and highly accomplished software developer, book author, solution specialist, consultant, and team leader. He currently works for Interactive Web Solutions Ltd (iWeb), where he holds the role of senior developer and is the director of iWeb's Croatia office. Branko holds several respected IT certifications, including Zend Certified PHP Engineer, Magento Certified Developer, Magento Certified Developer Plus, Magento Certified Solution Specialist, Magento 2 Certified Solution Specialist, Magento 2 Certified Professional Developer, to mention just a few. He was crowned the e-commerce Developer of the Year by the Digital Entrepreneur Awards in October 2014 for his excellent knowledge and expertise in e-commerce development.
Read more about Branko Ajzele