...файла:
file_exists(ПОЛНЫЙ ПУТЬ К ФАЙЛУ);
Функция возвращает true при существовании файла и false в случае, если он не существует;
…класса:
class_exists(НАЗВАНИЕ КЛАССА);
Функция возвращает true при существовании класса (он объявлен) и false в случае, если он не объявлен;
…функции:
function_exists(НАЗВАНИЕ ФУНКЦИИ);
Функция возвращает true при существовании функции (даже если функция системная) и false в случае, если она не существует. Широко используется для того, чтобы понять, установлена какая-то библиотека с функциями или нет;
…метода:
method_exists(mixed НАЗВАНИЕ КЛАССА ИЛИ ОБЪЕКТ КЛАССА, string НАЗВАНИЕ ФУНКЦИИ);
Что вообще такое метод? Метод можно представить себе как указатель на конкретную функцию конкретного класса, иными словами, это аналог слову «функция», только для функций внутри классов. Функция method _exists возвращает true при существовании метода и false в случае, если он не существует. Пример:
Код:
class A {
public function getClass() {
print __METHOD__. '<br />';
}
}
class B extends A {
public function getClass2() {
print __METHOD__. '<br />';
}
}
$b = new B();
var_dump(class_exists('B'));
var_dump(method_exists($b, 'getClass'));
var_dump(method_exists('B', 'getClass'));
var_dump(method_exists('A', 'getClass2'));
var_dump(method_exists('B', 'getClass2'));
Результат:
bool(true) bool(true) bool(true) bool(false) bool(true)