Рубрики
Uncategorized

PHP определяет,существует ли функция в методе_ существует (), метод_ Существует () и является ли Анализ различий и использования вызываемого ()

Автор оригинала: David Wong.

В этой статье описывается пример PHP для определения того,существует ли функция в методе_ (), метод_ Существует () и является ли разница и использование вызываемого(). Подробности заключаются в следующем:

PHP function_ существует (),метод_ Существует () и is_ В чем разница между вызовом() и вызовом()?

Давайте поговорим о последних двух: метод_ Существует () и is_ вызываем():

В процессе проектирования объекта PHP face нам часто приходится вызывать метод, чтобы определить, принадлежит ли он классу. Общим методом является метод_ Существует () и is_ вызываемый()

Напротив, функция is_ call() является более продвинутой. В качестве первого параметра он принимает имя метода в виде строковой переменной. Если метод класса существует и может быть вызван, он возвращает значение true. Если вы хотите определить, может ли быть вызван метод в классе, вы можете передать функции массив вместо имени метода класса в качестве параметра. Массив должен содержать имя объекта или класса в качестве первого элемента и имя метода, подлежащего проверке, в качестве второго элемента. Если метод существует в классе, функция возвращает значение true.

Давайте взглянем на код:

php 
class test {
  public function a() {
    return "test";
  }

}
class abc{
  public function a($object,$funcName) {
    if(!is_ Call (array ($object, $funcname))) {// check whether $funcname exists in $object and belongs to normal call structure
      echo "Error: the"." ".$funcName." no exist in " .$object."";
    } else {
      echo "ok";
    }
  }
}
$abc = new abc();
$abc->a("test","111");
$abc->a("test","a");

Результаты следующие:

Итак, что произойдет, если метод a в тестовом классе будет изменен на закрытый или защищенный?

Код выглядит следующим образом:

Результаты заключаются в следующем

Хорошо, давайте еще раз рассмотрим функцию method _ Exists():

результат:

На этом этапе вывод должен быть ясен, верно?

Метод в PHP_ Существует () и is_ В чем разница между call() и call()?

Функция PHP method_ Существует () и is_ Разница в вызове() заключается в том, что в PHP5 существование метода не означает, что его можно вызвать. Для методов закрытого, защищенного и открытого типов метод_ Существует() возвращает значение true, но is_ Вызываемый () проверит, доступен ли он. Если он закрытый, защищенный, он вернет значение false.

И тогда есть “функция” left_ существует(),

Это самый слабый с точки зрения силы обнаружения по сравнению с двумя последними, потому что существует только один параметр – $string, который определяет только то, была ли определена функция

Подводить итоги:

function_ Простой смысл exists состоит в том, чтобы определить, определена ли функция, и использовать метод_ Exists-это определить, существует ли метод в классе, который можно вызвать, чтобы проверить, является ли параметр законной вызываемой структурой

Возвращаемое значение-bool

Подробнее о содержании, связанном с PHP, заинтересованные читатели могут ознакомиться с нашими специальными разделами: краткое описание общих функций и навыков PHP, краткое описание использования строк PHP, полные навыки работы с массивом PHP, учебник по структуре и алгоритму данных PHP, а также краткое описание метода расчета программирования PHP

Я надеюсь, что эта статья будет полезна для программирования на PHP.