Tuesday, February 3, 2026
HomeLanguagesPHP trait_exists() Function

PHP trait_exists() Function

PHP implements a way to reuse code called Traits. The trait_exists() function in PHP is an inbuilt function that is used to check whether a trait exists or not. This function accepts the traitname and autoload as parameters and returns true if trait exists, false if not, null in case of an error.

Syntax :

trait_exists ( string $traitname , bool $autoload = ? ) : bool

Parameters: This function accepts two parameters as mentioned above and described below.

  • $traitname: This parameter contains the name of the trait.
  • $autoload: This parameter is a boolean value that tells whether to autoload, if not already loaded.

Return Value:

  • It returns true, if a trait exists.
  • It returns false, if the trait does not exist.
  • It returns null for any error encountered.

Example 1:

PHP




<?php
  
// Created trait Programming
trait Programming
{
    // Declared static instance
    private static $instance;
    protected $temp;
   
   // Defining static function in trait to Reuse
    public static function Designing()
    {
        self::$instance = new static();
        // Magic constant __TRAIT__ in PHP
        // It gets the class name for the static method called.
        self::$instance->temp = get_called_class().' '.__TRAIT__;
         
        return self::$instance;
    }
  
}
// Checking if 'Programming' Trait exists
if ( trait_exists( 'Programming' ) ) 
{
     
    class Initializing 
    {
        // Reusing trait 'Programming'
        use Programming;
  
        public function text( $strParam )
        {
            return $this->temp.$strParam;
        }
    }
  
}
  
echo Initializing::Designing()->text('!!!');
  
?>


Output:

Initializing Programming!!!

Example 2: 

PHP




<?php 
  
// Creating Base class
class Base 
{
    public function callBase()
     {
        echo 'This is base function!'."<br>";
     }
}
  
// Creating Trait
trait myTrait {
    public function callBase() 
    {
        parent::callBase();
         echo 'This is trait function!'."<br>";
    }
}
  
// Using myTrait
class myClass extends Base 
{
    use myTrait;
}
  
$myObject = new myClass();
$myObject->callBase();
  
// Checking if trait exists
if(trait_exists( "myTrait"))
{
    echo "\n myTrait exists! \n";
}
else
{
  echo "\n myTrait does not exists! \n";
      
}
  
?>


Output:

This is base function!
This is trait function!
myTrait exists!

Reference : https://www.php.net/manual/en/function.trait-exists.php

RELATED ARTICLES

Most Popular

Dominic
32478 POSTS0 COMMENTS
Milvus
124 POSTS0 COMMENTS
Nango Kala
6849 POSTS0 COMMENTS
Nicole Veronica
11979 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12066 POSTS0 COMMENTS
Shaida Kate Naidoo
6987 POSTS0 COMMENTS
Ted Musemwa
7222 POSTS0 COMMENTS
Thapelo Manthata
6935 POSTS0 COMMENTS
Umr Jansen
6919 POSTS0 COMMENTS