What are Traits in PHP ?

Last Updated at : October 4, 2017 By - Usama Muneer | 2310

    What are Traits?

    Traits are simply the way to share methods among classes in your application while keeping an equal eye on DRYing up code and making sure its re-usability in the application.

    In this article, we’ll go through the problem and then look at how using Traits can solve it for us.

    User Classes

    Let’s assume, we want to create an admin panel along side the basic users functionality as well. So basically, we would have a couple of classes to start with.

    class User {
    
    }
    
    class Admin {
    
    }

    These classes might share a couple of methods but on the same side might not share all of them. To tackle this type of problem, we’ll create a Trait like so

    trait Authenticatable {
    
    //List of Methods
    
    }

    And to use methods from this Trait, we’ll simple use the use keyword,

    class User {
    
        use Authenticatable;
    
    }

    Well that’s it. Its this simple to DRY up your application’s code-base using traits.

    To understand the difference between the Interfaces and Traits in PHP, you can check the below link.

    Final Words

    Traits are important part of PHP application as PHP doesn’t support multiple inheritances. Traits comes to the rescue and lets you share methods between classes with ease.

    If you’ve any suggestions or feedback, do write us a comment below. You can also follow us on Twitter.

    blog user
    Usama Muneer

    A web enthusiastic, self-motivated & detail-oriented professional Full-Stack Web Developer from Karachi, Pakistan with experience in developing applications using JavaScript, WordPress & Laravel specifically. Loves to write on different web technologies with an equally useful skill to make some sense out of it.

    Related Posts

    PHP is one of the most valued and accessible server-side language, mostly used for creating websites. With a faster turnaround time and enhanced security features, PHP has become one of the most preferred choice for website development by website developers.

    Lots of developers have been a fan of the short arrow function usage since their addition to programming languages. In JavaScript, it has helped make coding functions/closures more concise.

    Imagine you have a scenario where you need to add multiple actions to your Laravel Notification where you can add as many as button components with different URLs.

    Importing Excel files come handy when you’re building some large scale inventory kind of an application where you need to import set of data from CSV or excel files. In this short tutorial, we’ll go through on importing excel files with Laravel & look on for some crazy hacks and tricks in between.