ฟังก์ชัน trait_exists

ฟังก์ชัน trait_exists ตรวจสอบว่า trait ที่ระบุมีอยู่ในขอบเขตปัจจุบันหรือไม่ พารามิเตอร์แรกของฟังก์ชันรับชื่อ trait ในรูปแบบสตริง พารามิเตอร์ที่สอง (ไม่จำเป็น) คือแฟล็กที่ระบุว่าจะใช้การโหลดคลาสอัตโนมัติหรือไม่

ไวยากรณ์

phptrait_exists(string $traitname, bool $autoload = true): bool

ตัวอย่าง

ตรวจสอบการมีอยู่ของ trait:

php<?php
  trait MyTrait {
    public function sayHello() {
      echo 'Hello';
    }
  }
  
  $res = trait_exists('MyTrait');
  var_dump($res);
?>

ผลลัพธ์การทำงานของโค้ด:

phptrue

ตัวอย่าง

ตรวจสอบ trait ที่ไม่มีอยู่ โดยปิดการโหลดอัตโนมัติ:

php<?php
  $res = trait_exists('NonExistentTrait', false);
  var_dump($res);
?>

ผลลัพธ์การทำงานของโค้ด:

phpfalse

ตัวอย่าง

การใช้ฟังก์ชันในคำสั่งเงื่อนไข:

php<?php
  if (trait_exists('Loggable')) {
    echo 'Trait exists';
  } else {
    echo 'Trait does not exist';
  }
?>

ผลลัพธ์การทำงานของโค้ด (หาก trait ไม่ได้ประกาศ):

php'Trait does not exist'

ดูเพิ่มเติม

  • ฟังก์ชัน class_exists,
    ซึ่งตรวจสอบคลาส
  • ฟังก์ชัน interface_exists,
    ซึ่งตรวจสอบอินเทอร์เฟซ
  • ฟังก์ชัน get_declared_traits,
    ซึ่งคืนค่า traits
  • ฟังก์ชัน class_uses,
    ซึ่งคืนค่า traits ของคลาส