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 hàm class_exist() trong PHP như sau:
class_exists ( string$class_name
[, bool$autoload
=TRUE
] ) : bool
class_name
là tên class gốc.class_name
. Hàm này trả về giá trị TRUE nếu tồn tại Class và FALSE nếu không tồn tại Class .
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().
<?php // Kiểm tra một class trước khi khởi tạo nó if (class_exists('MyClass')) { $myclass = new MyClass(); } ?>
<?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.
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! ?>
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
Bình luận: