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

lantastic

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

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

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

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