Функциональное программирование - проблемы :(

lantastic

Новичок
Функциональное программирование - проблемы :(

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

Как вообще оптимально писать код при помощи функций? Например у меня есть функция по созданию неких структур, а вторая по их выводу. Обе использую кучу глобальных переменные для связи между собой. В итоге в каждой функции приходится писать global и кучу переменных которые могут понадобиться... бред какой-то... помогите!
 

McLay

PHP5 BetaTeam
Использовать классы или хранить параметры в массиве и делать глобальным только его...
 

lantastic

Новичок
register_globals = on ... все таки тоже не выход на мой взгляд ...

классы? надо будет поразбираться, спасибо!
 

Фанат

oncle terrible
Команда форума
или просто массив
написать global $array или func(&$array) тебя не так затруднит, как перечислять сто переменных?
 

lantastic

Новичок
то есть предлагаешь функциям "общаться" через один массив, который будем передавать как параметр? то есть все действия функциями выполняются над массивом... да, в принципе неплохо :)
 

Crazy

Developer
lantastic, запомни, что "функциональное программирование" так же относится к программированию функций, как "сексуальная женщина" к женскому сексу.
 

Vasya

Guest
Неудобно описывать в начале тела каждой функции global и затем кучу переменных...
Как вообще оптимально писать код при помощи функций?
Вообще-то, когда в функциях много глобальных переменных, то это свидетельствует о плохом разбиении логики программы на функции. То есть, функциям, вобщем-то, ничего не нужно кроме параметров. И чем этих параметров меньше, тем более мелкая часть функциональности выделена из общего алгоритма.
Для примера, можно внимательно взглянуть на встроенные в ПХП функции :)
Хорошим кандидатом в функцию будет какой-нибудь кусок кода, который повторяется более двух раз.
 
Сверху