Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.04.2012, 21:09
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

call_user_func
Вот попробовал использовать эту функцию
Код:
<html><body>
<?php
function privet($a,$b){
echo $a,' ',$b;
}
call_user_func('privet',5,8);
?>
</body></html>
тоже самое можно написать и так без неё,даже короче выходит:
Код:
<html><body>
<?php
function privet($a,$b){
echo $a,' ',$b;
}
privet(5,8);
?>
</body></html>
Зачем тогда она?
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2012, 21:32
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

,для того, чтоб вызвать функцию, зная её имя )

простой пример:

есть 5 функций:
function Vasya($a,$b){...}
function Petya($a,$b){...}
function Kolya($a,$b){...}
function Misha($a,$b){...}
function Katya($a,$b){...}


и в зависимости от переданного значения (скажем, из формы в $funcName), нужно вызвать одну из них..

чтобы не делать кучу условий, можно просто вызвать:
call_user_func($funcName);
__________________
С моих слов записано верно.
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2012, 23:31
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

это на этом держится API плагинов к CMS : так реализуются функции обратного вызова.
Ответить с цитированием
  #4 (permalink)  
Старый 05.04.2012, 08:55
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

хуки в друпал так работают.
Пробегается по списку включенных модулей и если есть вызываются функции в модулях. Юзают call_user_func_array
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2012, 10:04
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от micscr Посмотреть сообщение
хуки в друпал так работают.
Пробегается по списку включенных модулей и если есть вызываются функции в модулях. Юзают call_user_func_array
в php нельзя передавать функции напрямую ?

add_hook('header', function() { .... });
Ответить с цитированием
  #6 (permalink)  
Старый 05.04.2012, 10:31
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

только в php 5.3 появились анонимные функции.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск