略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: trait_exists

2024-12-22

trait_exists

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

trait_exists检查指定的 trait 是否存在

说明

trait_exists(string $trait, bool $autoload = true): bool

参数

trait

待检查的 trait 的名称

autoload

如果尚未加载,是否使用自动加载(autoload)。

返回值

如果 trait 存在返回 true,否则返回 false

add a noteadd a note

User Contributed Notes 3 notes

up
13
Lubaev.K
9 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
4
astinus dot eberhard at gmail dot com
5 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
3
valerio dot bozzolan at gmail dot com
6 years ago
What is the default value of $autoload? And in which way traits are autoloaded? Is there something as spl_autoload() for traits?

官方地址:https://www.php.net/manual/en/function.trait-exists.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3