Использование $ и @ перед вызовом функции. Для чего?

Eduard

Новичок
Использование $ и @ перед вызовом функции. Для чего?

Видел много примеров, в которых это используется, но в мануале ничего не нашел, если там есть, то ткните меня туда носом!

Спасибо
 

lucas

Guest
Эти примеры пишут бездарные программисты.

Использовать для вызова функции $ не нужно -- на то есть [m]call_user_func[/m].

Использовать @ не нужно "никогда и низачем" (с).
 

Igorek2003

Guest
Кстати, а чем конкретно call_user_func($foo,...) лучше, чем $foo(...) ?
Хм... Я наверное чего-то не понял, но... Зачем перед вызовом юзверь да и вообще функции ставить рубль? Я никогда такого не видел и сам не делал.
 

Crazy

Developer
Igorek2003, и даже упоминание call_user_func не навело на мысли? :)
 

Igorek2003

Guest
Crazy
Хм... А я всегда пролистывал раздел мана "функции работы с функциями". Видимо зря, хотя все равно я не вижу пользы в криэйтинге ламбда-стуле фанкшинов. Зачем создавать функции динамически???
 

Crazy

Developer
call_user_func не имеет никакого отношения к "криэйтингу ламбда-стуле фанкшинов". Ты путаешь ее с create_function.
 

alpine

Новичок
[m]call_user_func[/m] более универсальна, lucas прав (imho)
Позволяет вазвать, как пользовательскую функцию так и статически метод класса.
 

lucas

Guest
Насчет call_user_func(_array) и variable functions:

Конкретно для меня удобство первых в отличии от вторых заключается в:

1. Возможности задавать имя функции без создания (в некоторых случаях) доп. переменной (конкатенация -- наш друг).

2. Большей гибкости в передаче (переменного числа) параметров.

P. S.: Понимаю, что никого убедить и сподвигнуть к использованию call_user_func это не может и не должно.
 

Crazy

Developer
Т.е. достоинства есть в двух частных случаях:

1. Имя функции создается непосредственно на месте и нигде никак более не используется. И мы экономим на переменных.

2. Если требуется передавать в разных случаях разное количество параметров.
 

Serguitar

Новичок->продвинутый
По поводу собак посмотрите избранное, там та-а-акой спор между лучшими головами этого форума, что равнодушным не останешься.
 

lucas

Guest
Crazy

Да. :)

Serguitar

Ссылка на этот топик -- в моем втором посте.
 
Сверху