trait_exists

(PHP 5 >= 5.4.0, PHP 7)

trait_existsVérifie si un trait existe

Description

bool trait_exists ( string $traitname [, bool $autoload ] )

Liste de paramètres

traitname

Nom du trait à vérifier

autoload

TRUE s'il faut charger le trait dans le cas où ce n'est pas encore fait.

Valeurs de retour

Retourne TRUE si le trait existe, FALSE s'il n'existe pas, NULL en cas d'erreur.

add a note add a note

User Contributed Notes 3 notes

up
12
Lubaev.K
4 years ago
<?php
trait World
{

    private static
$instance;
    protected
$tmp;

    public static function
World()
    {
       
self::$instance = new static();
       
self::$instance->tmp = get_called_class().' '.__TRAIT__;
       
        return
self::$instance;
    }

}

if (
trait_exists( 'World' ) ) {
   
    class
Hello {
        use
World;

        public function
text( $str )
        {
            return
$this->tmp.$str;
        }
    }

}

echo
Hello::World()->text('!!!'); // Hello World!!!
up
1
astinus dot eberhard at gmail dot com
9 months ago
Traits are compatible with class autoload mechanism - in fact, if you look at source code of trait_exists function, you will find similar peace of code (see Zend/zend_builtin_functions.c)
up
2
valerio dot bozzolan at gmail dot com
1 year ago
What is the default value of $autoload? And in which way traits are autoloaded? Is there something as spl_autoload() for traits?
To Top