[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: call_user_func
kilogram
Вот попробовал использовать эту функцию

<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>


Зачем тогда она?



Спустя 15 минут, 49 секунд (3.04.2012 - 20:26) Stasonix написал(а):
наверно чтобы было, я что-то такого ни разу на практике не видел, но: function.call-user-func.php

Спустя 13 минут, 13 секунд (3.04.2012 - 20:40) T1grOK написал(а):

function myfunction()
{
}


$function = 'myfunction';

call_user_func($function);

Спустя 35 минут, 18 секунд (3.04.2012 - 21:15) I++ написал(а):
Еще вот так можно:

function myfunction($param)
{
return $param;
}

$function = 'myfunction';

echo $function('test');

Спустя 9 минут, 29 секунд (3.04.2012 - 21:24) Stasonix написал(а):
а есть какое-то внятное объяснение зачем оно вообще нужно, мне просто самому интересно, вот вы тут код хорошо выкладываете, да и в мануале не плохо расписано, но в итоге - "словами" (объясните) на практике, в каких случаях надо использовать именно такой вариант?

Спустя 16 минут, 15 секунд (3.04.2012 - 21:41) glock18 написал(а):
Цитата (Stasonix @ 3.04.2012 - 18:24)
а есть какое-то внятное объяснение зачем оно вообще нужно, мне просто самому интересно, вот вы тут код хорошо выкладываете, да и в мануале не плохо расписано, но в итоге - "словами" (объясните) на практике, в каких случаях надо использовать именно такой вариант?


это единственный вариант использования статических методов класса, когда имя класса заранее неизвестно, в php < 5.3

Спустя 1 минута, 22 секунды (3.04.2012 - 21:42) glock18 написал(а):
плюс есть еще call_user_func_array, которой удобнее передавать параметры. Тоже в случае если обработчик заранее не известен, это может оказаться единственной опцией

Спустя 4 минуты, 24 секунды (3.04.2012 - 21:46) I++ написал(а):
Ну еще такой подход можно использовать в создании колбэков.

Есть у тебя класс который работает в цикле с сокетами, а тебе нужно при получении инфы вызвать внешнюю функцию, которая что либо поделает, а потом обратно вернется в класс.

вот пример: http://phpforum.ru/index.php?showtopic=54456

Спустя 5 минут, 46 секунд (3.04.2012 - 21:52) glock18 написал(а):
Цитата (I++ @ 3.04.2012 - 18:46)
Ну еще такой подход можно использовать в создании колбэков.

Есть у тебя класс который работает в цикле с сокетами, а тебе нужно при получении инфы вызвать внешнюю функцию, которая что либо поделает, а потом обратно вернется в класс.

вот пример: http://phpforum.ru/index.php?showtopic=54456

че-то я там не вижу правда call_user_func smile.gif

Спустя 20 минут, 56 секунд (3.04.2012 - 22:13) I++ написал(а):
$this->options['func_event_handler']('>BadNick', $this);

Да тоже самое по сути.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.