- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
/**
* @param array $input
* @return array
* @throws Exception
*/
protected function makeParams($input)
{
if (!is_array($input))
{
throw new \Exception('argument should be array');
}
$params = array();
foreach ($input as $k=>$v)
{
$params[] = $v;
}
return $params;
}
Анонимус 21.11.2014 19:49 # 0
И зачем из массива в массив перекладывать? Или есть шанс что is_array вернет true для чего-то что не массив на самом деле?
heyzea1 21.11.2014 20:41 # 0
Анонимус 21.11.2014 20:45 # 0
heyzea1 21.11.2014 20:49 # 0
guest 21.11.2014 20:25 # +1
Анонимус 21.11.2014 20:27 # +2
heyzea1 21.11.2014 20:56 # 0
При нажатии на сабмит JS собирает JSON из значений формы в определенном порядке, отправляет на веб-сервер. Веб-сервер это дело валидирует, затем с помощью makeParams собирает JSON из значений и через jsonrpc кидает на сервак с бизнес-логикой.
Так вот, если собрать не в том порядке, или забыть какое значение \ добавить лишнее, то сервак выкидывает экзепшен.
guest 22.11.2014 00:23 # 0
heyzea1 22.11.2014 02:03 # 0
Вообще я жаловался на реализацию, а не архитектуру, архитектура как раз для проекта выбрана удачно.
guest 22.11.2014 03:00 # 0
Saehrimnir 28.10.2020 20:31 # 0
pushistayapodmyshka 22.11.2014 14:32 # 0
guest 22.11.2014 15:20 # +5
volter9 23.11.2014 03:16 # 0
Анонимус 23.11.2014 16:03 # +1
Ну и конечно нужно гуглить и читать замечательную статью "фрактал плохого дизайна")
volter9 24.11.2014 03:32 # −2
Анонимус 24.11.2014 03:46 # +1
>> PHP is inconsistent. It is verbose. It does have a lot of weird behavior. It does have a lot of >>problems. It can be ugly. It can be really awkward to work around. It can leave a lot to be
>>desired.
После этого было бы логично услышать что остальные еще хуже, но вместо этого мы слышим:
>>But it's also incredibly powerful.
В чем измеряется поуерфульность языков? Я считаю что perl на 3.442% более поверфул чем пхп.
>>It's really easy to write working applications.
Верно-ли я понимаю что на python или ruby it is very hard to write working applications?
>>It's really easy to create a large scale project
Совершенно не понятно чем на PHP это сделать легче чем не на ПХП.
>>Be useful to non-developers
Нондевелоперу пофиг на чем написан проект: на PHP или на Brainf*ck. Причем же тут язык?
>>You don't need a library or a framework to talk HTTP.
Это _ПЛОХО_. Это называется "засирание глобального неймспейса" и провоцирует писать код, завязанный на HTTP.
>>That means that transitioning code from CLI to a server API is trivial (it's just changing how it gets the request variables)
Человек зашивается в своем коде на переменные, полученные по HTTP и не стесняется этого!
>>Absolutely gigantic user base. Sure, other languages have large followings, but few are as large as PHP.
Если выкинуть из этой базы откровенно плохих программистов, то ничем она от рубей или пайтона не отличается.
Впрочем "Ideally, don’t tell me anything! This is my one big shot; if this list doesn’t hurt your opinion of PHP, nothing ever will" :)
bot 25.11.2014 00:22 # +1
http://habrahabr.ru/post/142195/
Анонимус 25.11.2014 00:29 # 0
defecate-plusplus 23.11.2014 16:11 # +6
потому что что?
я ем говно, но не потому что я не могу попробовать что-то другое и не потому что мне нравится это делать (возможно, совсем не нравится), просто мне лень тянуться к чему-то другому
Arbatan_Pokrovan 28.10.2020 20:45 # 0
Rooster 28.10.2020 20:47 # +1
MAPTbIwKA 28.10.2020 20:58 # 0
Saehrimnir 28.10.2020 21:54 # 0
guest8 28.10.2020 21:55 # −999
Saehrimnir 28.10.2020 21:56 # 0
guest8 28.10.2020 21:57 # −999
myaut 23.11.2014 23:49 # +2
Вот, что на это отвечает автор каноничной статьи "PHP: a fractal of bad design" (на нее выше Анонимус ссылается)
> Do not tell me that “good developers can write good code in any language”, or bad developers blah blah. That doesn’t mean anything. A good carpenter can drive in a nail with either a rock or a hammer, but how many carpenters do you see bashing stuff with rocks? Part of what makes a good developer is the ability to choose the tools that work best.
bormand 24.11.2014 00:00 # +1
volter9 24.11.2014 03:36 # −2
1024-- 24.11.2014 06:09 # 0
Мнения фанатиков можно не учитывать*, продолжая писать на том языке, который позволит яснее и естественней выразить свои мысли в рамках задачи. А то добрые люди сначала посоветуют оставить PHP, потом JS, потом про C++ и Haskell плохое скажут, потом распнут твои жизненные идеалы, заставят жениться на той, кого не любишь, ради денег и успеха, а в конце и вовсе выпнут из программирования, лишив возможности творить.
* Разве что, писать на навязанных троллями-программистами языках за еду, когда уже выхода совсем нет, когда либо писать на их языке, либо бомжевать.
Анонимус 24.11.2014 06:17 # −1
[...]- это злые формалисты-тролли с нездоровой долей фанатизма и твёрдой уверенностью в своей правоте, готовые раздавить любого, кто [..] по их мнению неправильный [..]
-------
Но это конечно не повод не указывать на объективные минусы некачественных инструментов.
1024-- 25.11.2014 05:02 # +1
А вот тут не всё так просто. Одно дело - когда производитель экономит на металле и делает мягкую отвёртку. Другое дело - когда отвёрткой закручивают гвозди и говорят, что это плохой инструмент.
В программировании же гораздо больше путей (и инструментов) для того, чтобы получить один и тот же результат. Тут вполне возможна отвёртка с металлическим набалдашником для забивания гвоздей. Её легко и удобно носить в кармане каждый день; стоит лишь повернуть руку, как отвёртка заменится на молоток. И у такого инструмента существуют лишь характеристики, большинство недостатков же надуманны и относительны. Скажем, большая масса позволит легко забивать гвозди, но малая масса позволит всегда держать инструмент при себе хоть в космосе; объединение в один предмет позволит легко потерять молоток, потеряв отвёртку, но разделение потребует использования лишней руки/карманов/ассистента, который будет держать инструмент. Все реальности минусы здесь сводятся к тому, что лак на ручке быстро отслаивается у продукции производителя А.
По-моему, в программировании объективные минусы - это что-то отдалённое от суровой реальности вроде неполноты по Тьюрингу. Остальное же - следствие "я не пользуюсь, поэтому не нужно", "я пользуюсь, следовательно без этого нельзя", "мне неудобно, поэтому всем тоже" и "если язык не решает моих задач, он говно".
В итоге все друг друга ненавидят, холиварят и сжигают на кострах неверных, если вдруг собралась достаточно большая толпа для того, чтобы не испугаться и поймать одного человека.
Глупо ругать жс за прототипы и сборку мусора, а плюсы - за невозможность добавления метода к существующему объекту и ручное управление памятью. Надо стараться изводить в себе это непонимание других ОС, других языков, других парадигм. Если Вася может качественно и с удовольствием написать нужную для дела программу на языке А, Пете, любителю языка Б, лучше помолчать.
Анонимус 25.11.2014 16:28 # 0
PHP это именно что мягкая отвертка. Точнее говоря ею удобно закручивать шуруп размером в одну страничку, весь код которой помещается на экране.
Но такие задачи возникают раз в 12 лет.
>> большинство недостатков же надуманны и относительны
Скажите, Вы читали статью, которую я тут приводил?
>> вроде неполноты по Тьюрингу.
BrainFuck и ook полны по Тюрингу. Хотите на них писать? Хотите писать под саму машину Тюринга, кстати?
Аналогия с JS и C++ тут неверна совершенно. Отсутствтие статической типизации и GC это фичи, и они могут быть хорошими или плохими, нужными или не нужными, но это -- фичи.
Отсутствие неймспейсов и каша в стандартной библиотеке это не фича а бага.
Понимаете?
Существуют ситуации когда на JS можно написать код элегантнее, чем на C++.
Но не существует ситуации когда на PHP можно написать код элегантнее чем на Python или Ruby (кроме той самой ситуации с выводом результатов одного запроса в одну страничку)
Всеми плюсами, которые есть у PHP, обладают так же пайтон и руби.
А вот минусами его не обладают.
Именно потому я и считаю его плохим.
Точно так же и с MySQL, например: у MySQL нет ни одного приимущества перед PostgreSQL, а вот у постгри перед мускулем -- есть. Потому я считаю MySQL плохой базой данных.
А вот SQLite не считаю, потому что у него есть свои приимущества.
Впрочем, холиварить тут и правда смысла нет: это тот самый случай, когда "если надо объяснять, то не надо объяснять".:)
bormand 25.11.2014 16:31 # +1
+ Стоит на любом бесплатном говнохостинге.
+ Умеет делать count(*) за O(1) для MyISAM таблиц.
Анонимус 25.11.2014 18:13 # 0
guest 26.11.2014 11:09 # 0
bormand 26.11.2014 11:20 # +1
guest 26.11.2014 21:55 # +1
Анонимус 26.11.2014 23:03 # 0
А один сайт даже снежинки рисовал на новый год, и вот количество снежинок было равно количеству пользователей.
guest 26.11.2014 23:08 # 0
Анонимус 26.11.2014 23:12 # 0
Ну в моем случае речь шла о php 3, там особо было из памяти-то и не взять.
На самом деле MyISAM в любом случае нельзя использовать ни на чем, кроме бесплатных гостевых книг ввиду отсутствия ACID
1024-- 25.11.2014 16:42 # 0
Я слишком ленив для этого. Может, когда-то видел перевод, который здесь привели. Но всё же хотя бы его перечитаю.
Комментарий писал, думая об угнетении поклонников жс и распространяя его на остальные языки, рассуждал об общей толерастии в программировании.
Анонимус 25.11.2014 18:18 # 0
Я тоже считаю что писать на JS чаще всего не следует, кроме разве что фронтенда (тут выбора нет, если не считать что-то, что компилируется в JS).
Но у JS была/есть своя идеология: они попытались сделать прототип ориентированный язык.
Это казалось крутым.
Но оказалось что это вовсе не круто, и за 20 лет существования JS так и не обзавелся качественными бест-практисами. Ну тут уж они не виноваты: попробовали -- не получилось)
А Вы поклонник JS? Вам нравится отсутствие в языке неймспейсов, модульности, нормального ООП и чехарда с типизацией?
1024-- 25.11.2014 19:52 # +1
Да. Я очень люблю жс, на нём получается легко излагать свои мысли.
Отсутствие неймспейсов бугурта не вызывает, т.к. всегда можно спрятать всё тайное в замыкание (и без отдельных плясок это снаружи вообще никто не увидит) или в объект. Тут и модульность близко, если нет Node.js.
"Нормальное" ООП мне меньше нравится, чем прототипы. Нормальное ООП - это ограничение, прототипы - удобство и свобода.
Из чехарды с типизацией меня раздражает typeof null === 'object'. Приходится писать "if(typeof x === 'object' && x)", чтобы проверить на объект. Сумму числа и строки и преобразование в число унарным плюсом считаю счастьем (когда питон мешает мне это сделать, я с грустью закрываю его интерпретатор и открываю интерпретатор жс). Массивы в строку нигде кроме отладочной печати не привожу, а в число - только случайно. И всё работает.
Чего мне очень не хватает, из-за чего я обижен на жс - так это перегрузки операторов (хочу метатаблицы как в Lua) и шаблонов с макросами как в C/C++. И конечно же функций из Array.prototype в массивоподобных объектах.
Анонимус 26.11.2014 00:02 # 0
Как выглядит API? У Вас есть какие-то примеры на гитхабе или еще где?
1024-- 26.11.2014 07:43 # 0
В браузере бы я написал
Ну или я бы вынес в один объект то, что для браузера.
Серьёзные примеры - это надо смотреть у людей уровня Борманда, я же до таких высот не дорос. Больших библиотек, которые зависят от библиотек, которые зависят от других библиотек, предназначенных для запуска в браузере, я не писал, и мои потребности в модульности ограничены.
bormand 26.11.2014 08:22 # 0
Лолшто :)
Мой гитхаб стыдно показывать... А проекты по работе - само собой NDA.
1024-- 26.11.2014 08:36 # 0
bormand 26.11.2014 09:41 # +1
Писать про != иметь много годных проектов, которые не стыдно показать.
inkanus-gray 26.11.2014 09:49 # 0
bormand 26.11.2014 10:27 # 0
Он, емнип, вообще никакого не показал.
inkanus-gray 26.11.2014 10:57 # 0
guest 26.11.2014 11:10 # +1
Анонимус 26.11.2014 18:04 # 0
Тем более на клиент-сайде:)
Хотя имидж серьезного программиста обязывает разбираться во всем;)
bormand 25.11.2014 18:23 # +1
Бейте их, унижайте их! Поклонники - не люди.
Не надо выбирать язык исходя из фанатичной любви к нему. Всё-таки это всего лишь инструмент. А над фанатиками можно и нужно стебаться - в конце концов они от этого могут изучить какой-нибудь другой язык и перестанут замыкаться в своём уютном пыхо/жсо/крестомирке...
Анонимус 25.11.2014 18:30 # +2
В юности я регулярно наблюдал споры между любителями продуктов Microsoft и Linux (или FreeBSD), и обе стороны совершенно не хотели друг друга слышать, даже не понимали о чем говорит оппонент, и только обкладывали друг друга хуйами.
1024-- 25.11.2014 17:01 # +2
Анонимус 25.11.2014 18:32 # +1
guest 26.11.2014 11:08 # +1
А брейнфак - это не асм под машину Тьюринга?
Vasiliy 22.11.2014 15:22 # +3
pushistayapodmyshka 22.11.2014 16:02 # 0