Hàm class_exist() trong PHP là gì ?

05/08/2022 - lượt xem
Chia sẻ
 
Rate this post

Hàm class_exist() trong PHP có nhiệm vụ kiểm tra xem class đã định khai báo định nghĩa hay không.

Cú pháp

Cú pháp hàm class_exist() trong PHP như sau:

class_exists ( string $class_name [, bool $autoload = TRUE ] ) : bool

Tham số truyền vào 

  • $class_name là tên class gốc.
  • $autoload là có tự động chạy _autoload() khi không có class $class_name . 

Giá trị trả về

Hàm này trả về giá trị TRUE nếu tồn tại ClassFALSE nếu không tồn tại Class .

Cảnh báo

Cách class_exist() sẽ không trả về TRUE nếu là interface, để trả về đúng giá trị hãy sử dụng hàm interface_exist().

Ví dụ minh họa

<?php
// Kiểm tra một class trước khi khởi tạo nó
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}
?>

Ví dụ với __autoload()

<?php
function __autoload($class)
{
    include($class . '.php');

    // Check to see whether the include declared the class
    if (!class_exists($class, false)) {
        trigger_error("Unable to load class: $class", E_USER_WARNING);
    }
}

if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Như ví dụ trên bạn có thể thấy việc kết hợp sử dụng __autoload cùng với class_exist() sẽ giúp bạn kiểm soát các class tốt hơn.

Ứng dụng

Bạn có thể sử dụng class_exist() kết hợp cùng __autoload() hoặc spl_autoload_register() để khởi tạo và kiểm soát class.

file second.php
<?php
class Second {}
?>
file index.php
<?php
class First
{
    function first($class$bool) {
        spl_autoload_register( function($class) {
            require strtolower($class) . '.php';
        });
        echo class_exists($class$bool)?'Exist!!!!':'Not exist!';
    }
}

new First($class 'Second'$bool true); //Exist!!!!
new First($class 'Second'$bool false); //Not exist!
?>

Các hàm liên quan

  • Hàm function_exist() kiểm tra một function có tồn tại.
  • Hàm interface_exist() kiểm tra một interface có tồn tại.
  • Hàm get_declared_groupes() trả về một mảng các Class đã được định nghĩa.
  •  

Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm class_exist() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com        

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm