PHP 8.6.0 Beta 1 is available for testing

method_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

method_existsПроверяет, определили ли метод в классе

Описание

function method_exists(object |string $object_or_class, string $method): bool

Функция проверяет, определили ли метод в классе, название или объект которого передали в аргументе object_or_class.

Список параметров

object_or_class

Экземпляр объекта или название класса.

method

Название метода.

Возвращаемые значения

Функция возвращает true , если метод method определили классе, на который ссылается аргумент object_or_class, иначе возвращает false .

Список изменений

Версия Описание
7.4.0 При проверке доступности закрытого родительского метода в дочернем классе функция теперь возвращает значение false , если в первом аргументе передали строку.

Примеры

Пример #1 Пример проверки определения метода в классе функцией method_exists()

<?php
$directory = new Directory('.');
var_dump(method_exists($directory, 'read'));
?>

Результат выполнения приведённого примера:

bool(true)

Пример #2 Пример статической проверки доступности метода в классе функцией method_exists()

<?php
var_dump(method_exists('Directory', 'read'));
?>

Результат выполнения приведённого примера:

bool(true)

Примечания

Замечание: Вызов функции запустит зарегистрированные автозагрузчики, если класс ещё не известен.

Замечание: Функция method_exists() не умеет обнаруживать методы, которые доступны через вызов магического метода __call.

Смотрите также

  • function_exists() - Возвращает true, если указанная функция определена
  • is_callable() - Проверяет, доступно ли значение для вызова как функция в текущей области видимости
  • class_exists() - Проверяет, доступна ли автозагрузка класса или содержит ли код объявление класса

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /