Code Tu Tam

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

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 

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

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        

Exit mobile version