Использование параметров $_GET. Что более разумно?

Статус
В этой теме нельзя размещать новые ответы.

WoLFiks

Не курю...
Использование параметров $_GET. Что более разумно?

В $_GET поступают какие-либо параметры.
Как более верно и разумно поступать:

1.
$p1=$_GET['p1'];
$p2=$_GET['p2'];
//в ф-ю передаем готовые аргументы
$itog=funkciya($p1,p2);

function funkciya($p1,p2)
{
$r=$p1+p2;
return $r;
}

Либо так
2.
$itog=funkciya();

function funkciya()
{ //c $_GET работаем внутри функции
$r=$_GET['p1']+$_GET['p2'];
return $r;
}

Естественно, что будет работать и то и то, но как вернее?

-~{}~ 21.08.07 19:04:

(в первом варианте в 3х местах пропущен символ $, но это не критично, т.к. вопрос носит более "широкий" смысл.. )
 

zerkms

TDD infected
Команда форума
WoLFiks
1. функция возвращает результат в зависимости от аргументов
2. функция не принимает никаких аргументов, все необходимые данные получает сама
в этом случае сделать func(1, 2) ты не сможешь
 

WoLFiks

Не курю...
Конечно нет.
Когда все равно - не интересуются.
Вообще, это к вопросам стиля программирования, о которых никогда не задумывается ни один новичОк...
НО в дальнейшем, привыкнув к одному, от этого трудно избавиться.
С давнего времени переучился со 2го на 1й вариант, а теперь сталкиваюсь с 2м каждый божий день... И вот от этого и интересно, неужто 2ой предпочтительнее.
Причем при первом варианте данные можно подготовить к нужному виду, устроить проверки не трогая тела функции, разве это не +?
 

Фанат

oncle terrible
Команда форума
если эти данные нужны только внутри данной функции, и больше нигде, то зачем работу с ними разносить в два места?
вообще непонятна аргументация. а при втором варианте что - подчистить данные нельзя, что ли?
 

Alexandre

PHPПенсионер
с точки зрения отладки, или методологии TDD, то func(1, 2) предпочтительнее, хотя мнение Фaнатa тоже верно.
 

zerkms

TDD infected
Команда форума
Alexandre
ошибочное мнение
плясать надо от задачи

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

gogan

Новичок
в первом случае ты не оговариваешь, откуда получены значения аргументов, а во втором они берутся только из гета. Если нужно будет потом юзать данные из других мест, то второй способ не катит. В общем, смотри на задачу и думай)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Alexandre
кроме того, по методологии TDD стоит реализовать объект контроллера, который передается параметром в функцию и отвечает за получение функцией данных ...
gogan
из источника, выбираемого в зависимости от параметров конфингурации, получаемой pull-методом из глобального репозитория, который при инициализации считывает xml-файл
:)
 

zerkms

TDD infected
Команда форума
по методологии TDD стоит реализовать объект контроллера
ой ли? другое дело что ТДД на это "намекнёт" и "подскажет", но никак не "обяжет" сделать именно так

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

ps: согласно чьей трактовке определения "контроллера" он передаётся в функции для получения данных?
 

Alexandre

PHPПенсионер
кроме того, по методологии TDD стоит реализовать объект контроллера, который передается параметром в функцию и отвечает за получение функцией данных ...
grigori это к методологии TDD отношения не имеет, это ближе к реализации паттерна MVC.

-~{}~ 22.08.07 06:59:

ошибочное мнение, плясать надо от задачи

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

cDLEON

Онанист РНРСlub
Да я с вашими МВЦ и т.д. скоро с ума сойду.
Да пишите вы как удобно ВАМ (либо группе СОТРУДНИКОВ) зачем раздувать из мухи слона. Такое ощущение что все начитались умных слов и этими словами пытаются показать какие они умные.
 

HraKK

Мудак
Команда форума
Alexxx_2
содержательный коммент, давайте еще 3000 плюсоф паставим?

-~{}~ 22.08.07 17:43:

Alexxx_2
содержательный коммент, давайте еще 3000 плюсоф паставим?
 

Sokil.Dmytro

Новичок
cDLEON

МVС это действительно удобно просто до появления и широкого представления на СНГшном рінке всем известных трудов называлось отделением кода от представления.
 

cDLEON

Онанист РНРСlub
Sokil.Dmytro
А мне вот не удобно. Мне легче строить объект по принципу "всё, чем заведует объект, держится в одном объекте." Нахрена создавать кучу классов лишь для того, что бы управлять одним объектом?
 

Sokil.Dmytro

Новичок
cDLEON
про кучу классов полностью согласен. но задачи лучше разделять - потом сам запутаешься что где делается
 

AmdY

Пью пиво
Команда форума
ех, народ начитается умных слов, и делает свой велахсипет.
ИМХО, не желательно к переменным GPSC обращаться напрямую, если планируешь что-либо большое.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху