За последние 24 часа нас посетили 53908 программистов и 1715 роботов. Сейчас ищут 804 программиста ...

Вызов функции при передаче значения.

Тема в разделе "PHP для новичков", создана пользователем Invision, 26 авг 2011.

  1. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Есть массив с разрешенными значениями для передачи. К примеру array('showInfo','lastNews','gooList');
    Сейчас объясню в чем суть... Через $_POST отправляется запрос в котором содержится строка showInfo, затем inArray проверка, что действительно этот метод существует и его можно вызвать. По сути эти методы - есть функции в классах.

    Пример:

    PHP:
    1. class Site {
    2.    public function showInfo() {
    3.      return;
    4.   }
    5.    public function lastNews() {
    6.      return;
    7.   }
    8.    public function gooList() {
    9.      return;
    10.   }
    11. }
    и запрос обрабатывает отдельная функция в классе.

    Собственно сам вопрос: Чтобы не навешивать громадные условия через switch > case (для вызова соответствующих функций) как строкой заставить вызвать функцию.

    Вот бредовый пример:
    PHP:
    1.  
    2. // к примеру после проверки строки вернуть функцию с соответствующим именем
    3. public function show($func) {
    4.      return $this->$func();
    5. }
     
  2. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Возможно покажется бредовым, но необходимо для личных целей.
     
  3. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Ох е... колотить, оно работает о_О сам свой вопрос расписал.. аха :D Почему то я до последнего момента был уверен что не получится, даже не проверял, потом усомнился...))
    P.S Оказывается есть get_class_methods ...