- 1
- 2
- 3
function addGetParam($key,$value){
$_GET[$key]=$value;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+158
function addGetParam($key,$value){
$_GET[$key]=$value;
}
В аду найдется специальное место для таких :-)
PragramistOtBoga 11.10.2013 18:42 # −15
PragramistOtBoga 11.10.2013 18:44 # −15
PragramistOtBoga 11.10.2013 18:56 # −15
guest 11.10.2013 19:10 # −10
guest 11.10.2013 18:50 # +4
Lure Of Chaos 11.10.2013 21:36 # +1
anonimb84a2f6fd141 11.10.2013 21:57 # 0
Lure Of Chaos 11.10.2013 22:09 # 0
anonimb84a2f6fd141 11.10.2013 22:15 # −3
Поскольку в рнр есть хешмеп литералы, то можно сделать как-то так:
WGH 11.10.2013 22:21 # 0
bormand 11.10.2013 23:07 # +3
Lure Of Chaos 11.10.2013 23:12 # +1
bormand 11.10.2013 23:13 # 0
Lure Of Chaos 11.10.2013 23:16 # 0
bormand 11.10.2013 23:19 # 0
Additionally the following key casts will occur:
- Strings containing valid integers will be cast to the integer type. E.g. the key "8" will actually be stored under 8. On the other hand "08" will not be cast, as it isn't a valid decimal integer.
- Floats are also cast to integers, which means that the fractional part will be truncated. E.g. the key 8.7 will actually be stored under 8.
- Bools are cast to integers, too, i.e. the key true will actually be stored under 1 and the key false under 0.
- Null will be cast to the empty string, i.e. the key null will actually be stored under "".
- Arrays and objects can not be used as keys. Doing so will result in a warning: Illegal offset type.
Т.е. по первому правилу должно получиться "a".
Lure Of Chaos 11.10.2013 23:25 # 0
> E.g. the key "8" will actually be stored under 8
bormand 11.10.2013 23:35 # 0
Lure Of Chaos 11.10.2013 23:43 # 0
посему и ратую за разделение структур на массивы с числовым индексом и мапы - со скалярным
(случаи, когда ключ - сложен или несериализуем - не обсуждаю как априори бред)
з.ы. json - более чем подходит
bormand 11.10.2013 23:49 # +2
> и не означали индекс, а именно ключ
Я не пойму, а в чем проблема то? Ассоциативно пихается. Ассоциативно достается. Форичем оббегается. Что еще нужно для работы с этим контейнером, как с ассоциативным массивом?
Lure Of Chaos 11.10.2013 23:57 # 0
bormand 12.10.2013 00:13 # 0
Все равно не понимаю, как надо использовать пыхомассив как ассоциативный массив, чтобы проявился какой-то баг... Сравнивать добытые из него foreach'ем ключи на === что-ли? :)
Lure Of Chaos 12.10.2013 00:16 # 0
хм, надо все же добыть тот древний код (а то я еще и выпил...)
bormand 12.10.2013 00:21 # 0
Самое забавное, что пыхомассив имеет не только ключи и индексы, но еще и порядок ;) И, в отличие от других ассоциативных контейнеров, которые или тупо сортируют все в порядке возрастания (жабий TreeMap), или как попало (жабий HashMap), пыховский "массив" обходится именно в порядке добавления...
Ну и вообще. Как можно требовать упорядоченности от ассоциативного контейнера? Вон жабий HashMap тоже не в алфавитном порядке оббегается, он теперь плохой? :)
> неявное кастование
Ну его если и убирать, то во всей пыхе.
Lure Of Chaos 12.10.2013 00:28 # +3
а такое поведение "дай я угадаю, что ты хотел, и сделаю что-то за тебя" - чревато багами.
anonimb84a2f6fd141 12.10.2013 01:22 # 0
roman-kashitsyn 12.10.2013 09:13 # 0
Lure Of Chaos 11.10.2013 22:23 # 0
request = new Request(url,"ты","хуй","твоямать","шлюха ").addGetParam("пшел","нах");
так что это не жабастайл, это у кодеров мозги не так повернуты.
anonimb84a2f6fd141 11.10.2013 22:37 # 0
Lure Of Chaos 11.10.2013 22:40 # 0
> new Request(url,"ты","хуй","твоямать","шлюха ")
конечно же, была проигнорирована. а тем не менее, тут только фигрных скобок нет, и запятая вместо двоеточия.
bormand 11.10.2013 23:12 # 0
P.S. Хотя можно написать хелпер array() и тыкать им в морду пыхерам. Правда там можно передать джва таких литерала. А в яве с вариадик аргументом так не выйдет :)
Lure Of Chaos 11.10.2013 23:22 # +1
с ней, лямбдами, перегрузкой операторов, функциями первого класса да примесями - мир покорять (и со статичной типизацией)
bormand 11.10.2013 23:39 # 0
Питон ;)
> и со статичной типизацией
А нет, не питон ;(
Lure Of Chaos 11.10.2013 23:46 # +2
1. непроизвольное форматирование отступами (ну не смогу я на нем писать однострочники)
2. более процедурным походом, когда пишем х(а) вместо а.х()
в этом плане мне более симпатичен Руби
3Doomer 14.10.2013 07:58 # 0
а.х(): x - функция объекта a
теперь ты знаешь, что делать?
kegdan 14.10.2013 08:55 # 0
roman-kashitsyn 14.10.2013 09:01 # 0
точка с запятой же есть
> более процедурным походом
Гвидо просто не страдает оопизмом головного мозга и позволяет использовать ту "парадигму", которая больше подходит к задаче. Идеология "все - объект" поддерживается в python полностью, так что претензия непонятна.
anonimb84a2f6fd141 14.10.2013 18:58 # 0
В одной строке может быть не больше одного двоеточия.
Stertor 14.10.2013 19:56 # −3
http://i52.tinypic.com/hu2jdc.png
anonimb84a2f6fd141 14.10.2013 21:41 # −2
Stertor 14.10.2013 22:03 # −4
И где ты тут видишь точку с запятой, чудило?
D
anonimb84a2f6fd141 12.10.2013 01:25 # 0
>А нет, не питон ;(
Увы. Вот статичного питончика бы...
roman-kashitsyn 12.10.2013 09:16 # +1
Done.
anonimb84a2f6fd141 12.10.2013 01:24 # +1
Очень охуенно читается при количестве элементов так за 10 (где ключ где значение?), и как ты собираешься это читать, чтобы юзер не подсунул нечетное количество параметров? Отсос.
Lure Of Chaos 12.10.2013 01:27 # 0
new Request(url,
"ты","хуй",
"твоямать","шлюха "
)
kegdan 12.10.2013 06:26 # +1
anonimb84a2f6fd141 12.10.2013 18:43 # +1
bormand 12.10.2013 08:32 # 0
Проверка на четность в рантайме.
> где ключ где значение?
Ну можно еще вот таким, более многословным способом: Хотя это уже мало отличается от addParam.
anonimb84a2f6fd141 12.10.2013 18:44 # 0
bormand 12.10.2013 19:15 # 0
Все это сводится к вопросу "а часто ли в жабе нужен литерал хешмапа?". В конце-концов жаба это не скриптовый язык, в которых из-за их гибкости и динамизма хешмап является краеугольным камнем (а в некоторых вообще используется вместо объектов)...
Назови навскидку какую-нибудь ситуацию, в которой нужен литерал хешмапа. Ну кроме подготовки SQL запроса/URL'а.
anonimb84a2f6fd141 12.10.2013 19:27 # 0
В пыхе они есть, следовательно - страдать хуйней незачем.
bormand 12.10.2013 19:34 # 0
Мало конечно. Ради двух юзкейсов делать целую языковую конструкцию, намертво прибитую к одному классу HashMap? Хватит уже и StringBuilder'а намертво прибитого к плюсику... Приводи еще юзкейсы для литерала мапов, будем обсуждать :)
> keyword параметров ведь тоже нема.
Были бы полезны. Кстати, в жабе даже дефолтных параметров нет, не то что кейвордов :)
guest 12.10.2013 20:30 # 0
anonimb84a2f6fd141 12.10.2013 22:01 # +3
anonimb84a2f6fd141 12.10.2013 18:45 # +1
Stertor 12.10.2013 20:31 # 0
anonimb84a2f6fd141 12.10.2013 18:45 # 0
WGH 12.10.2013 18:58 # +1
bormand 12.10.2013 19:04 # +1
Искать и выпиливать потом легче ;)
Сравни поиск функции по имени и поиск всех $_GET, большинство из которых безобидны, и только читают.
WGH 12.10.2013 19:08 # +1
QNOZFti 25.08.2021 09:48 # 0