Friday, October 24, 2025
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
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS