PHP 8.4.0 RC4 available for testing

trait_exists

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

trait_existsNiteliğin mevcudiyetine bakar

Açıklama

trait_exists(string $nitelik, bool $otomatik_yükle = true): bool

nitelik tanımlıysa true döndürür.

Bağımsız Değişkenler

nitelik

Varlığı sınanacak nitelik.

otomatik_yükle

Yüklü değilse autoload çağrısı yapılıp yapılmayacağı.

Dönen Değerler

Nitelik mevcutsa true değilse false döner.

add a note

User Contributed Notes 3 notes

up
9
Lubaev.K
11 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
0
astinus dot eberhard at gmail dot com
7 years 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
-1
valerio dot bozzolan at gmail dot com
8 years 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