@prophp7

Страница 335 из 1387
Василий
11.04.2017
12:55:39
Как подружить ООП, репозитории со сложными запросами, сабквери и т.п.?
адаптеры, фасады, прокси в помощь. Прикидываешь желательную архитектуру и потихоньку под нее переделываешь минимизируя объем легаси.

Василий
11.04.2017
12:58:04
но начинать с интерфейса надо, понять - как оно должно получиться в результате. И потом переделывать потихоньку.

Google
0x9d8e
11.04.2017
13:13:31
но начинать с интерфейса надо, понять - как оно должно получиться в результате. И потом переделывать потихоньку.
Недавно три раза интерфейс переписывал т.к. когда начинал реализовывать понимал что он неправильный в корне (с т.з. бизнес-логики). Так часто бывает, что начинаешь что-то кодить и становится очевидно, что это "что-то" само в себе уже ошибки содержит.

Вернее с точки срения пхп это было два интерфейса

0x9d8e
11.04.2017
13:17:53
Мне кажется чаще всего достоточно их выправлять в самом начале, когда ещё переписывать нечего почти. Когда оно уже готово и всё с ним хорошо уже редко меняться будет. В идеале вообще только реализации, если сделано с достаточным пониманием бизнес-логики и того какого рода вообще могут быть изменения.

Evgeniy
11.04.2017
13:29:58
реализуешь будто есть нужный объект, нужен какой метод добавляешь в интерфейс

когда заюзал где надо смотришь на интерфейс и видишь то что реально юзается

чуть чуть напильником подровнял или преукрасил и начал его объектам реализовывать

Vladislav
11.04.2017
13:38:48
странное поведение PHP обнаружили: при передаче массива в функцию (обычно, не по ссылке) внутренний указатель сбрасывается, если у массива не числовые ключи если ключи - инты или даже строки с числами, то не сбрасывается http://sandbox.onlinephpfunctions.com/code/14ce57cf20cb740aeb5e74a8c33282a00dad1266

0x9d8e
11.04.2017
13:40:39
мне кажется что интерфейс надо делать в зависимости от того как он будет использоватся
Я скорее о том, что идти нежно не от реализации к интерфейсу и не от интерфейса к реализации. Сам интерфейс создаётся где-то на стыке реализации и использования.

Evgeniy
11.04.2017
13:41:29
условно есть интерфейс библиотеки

где надо сильно парится потому что им будут пользоватся другие

Google
Evgeniy
11.04.2017
13:42:20
и есть интерфейс для бизнес логики, где есть конкретный бизнес кейс который надо реализовывать (типовы действия с разными объектами)

я о втором случае говорил

Evgeniy
11.04.2017
13:44:08
а первый случай лучше тоже ко второму сводить и потом делать как во втором случае)))

имхо естественно

Alyona
11.04.2017
13:48:10
Привет!! Можно выкладывать сюда вакансии??

Алексей
11.04.2017
13:49:07
Привет!! Можно выкладывать сюда вакансии??
Привет!) Вот тебе для вакансий https://t.me/webWork

0x9d8e
11.04.2017
16:04:15
Хм. Часто так выходит, что имея некоторый многомерный (двухмерный чаще всего) массив, нужно получить хеш-таблицу, где ключём будет одно из полей, а значением или вся строка или другое поле. Я это всегда делаю примерно так: $hash = []; foreach ($list as $item) { if(!isset($hash[$item['key']])) $hash[$item['key']] = []; $hash[$item['key']][] = $item; //Или $item['value']; } Может есть более адекватный способ? Встроенная функция какая, например.

Alexander
11.04.2017
16:06:15
array_column?

0x9d8e
11.04.2017
16:10:49
array_column?
Ой, ошибся в описании задачи. Вместо "а значением или вся строка или другое поле" должно быть "массив, в который собраны или строки или определённые поля".

Alexander
11.04.2017
16:12:50
Соменваюсь. Слишком специфичная штука получается

0x9d8e
11.04.2017
16:16:54
Например нужно сгруппировать таблицу "фрукт-цвет-вкус" по цвету, чтобы получить хеш "желтый => [[лимон, желтый, кислый], [банан, желтый, сладкий]]". В общем аналог такой темы: function array_group($array, $key_index, $value_index = null) { $hash = []; foreach ($array as $item) { if(!isset($hash[$item[$key_index]])) $hash[$item[$key_index]] = []; $hash[$item[$key_index]][] = isset($value_index) ? $item[$value_index] : $item; return $hash; }

Очень уж часто оно оказывается нужным

$iD
11.04.2017
16:23:28
зачем писать это if(!isset($hash[$item[$key_index]])) $hash[$item[$key_index]] = [];

не нужно

0x9d8e
11.04.2017
16:24:16
зачем писать это if(!isset($hash[$item[$key_index]])) $hash[$item[$key_index]] = [];
Чтобы не получилось в итоге $a = null; $a[] = 123;

В общем явное приведение типов по-сути

$iD
11.04.2017
16:25:27
Эм... с твоим примером так не выйдет

т.е. дальше у тебя $hash[$item[$key_index]][]

Google
f4rt~
11.04.2017
16:25:34
0x9d8e
11.04.2017
16:26:21
$a[] = null; var_dump(isset($a));
Не $a[] = null А $a = null;

т.е. дальше у тебя $hash[$item[$key_index]][]
Правильно, а $hash[$item[$key_index] === null

Оно может и приведётся принудительно к массиву, но пусть будет лучше явно

Андрюха (Ren)
11.04.2017
18:10:57
/stat@combot

Combot
11.04.2017
18:11:54
combot.org/chat/-1001042383571

Sergey
11.04.2017
19:47:47
Народ привет. Нужен удаленщик

могу описание вакансии сюда кинуть?

Daniel
12.04.2017
05:05:43
https://medium.com/fuzz/php-a0d0b1d365d8

Вот это лол

Василий
12.04.2017
05:28:42
было

Daniel
12.04.2017
05:57:06
Упустил

Давно?

Андрюха (Ren)
12.04.2017
06:08:58
пойду застрелюсь

?
12.04.2017
06:15:10
Все! Перехожу на Node.js.

Василий
12.04.2017
06:18:02
Vadim
12.04.2017
06:18:54
уже поздно.
да-да, ты должен был перейти на ноду, когда она была 0.0.1, судя по словам автора, а теперь ты уже умер

Zhandos
12.04.2017
06:19:15
почему поздно?

кстати по ноде

Google
Admin
ERROR: S client not available

Zhandos
12.04.2017
06:19:31
как ее на продакшене выкладывать?

Vadim
12.04.2017
06:19:52
с болью

Андрюха (Ren)
12.04.2017
06:20:34
Вот как теперь жить

Evgeny
12.04.2017
06:30:03
М-дя нод умер А пхп с 7.0 дали вторую жизнь, он воскрес и теперь у него 2 др Интересно нод сможет воскреснуть из пепла или уже нет?

Zhandos
12.04.2017
06:30:47
почему умер?

кто нибудь объясните пожалуйста

Василий
12.04.2017
06:32:15
кто нибудь объясните пожалуйста
никому он больше не нужен, никто на нем не пишет, работ по нему нет, последний раз обновлялся давно. Забудь о нем.

Zhandos
12.04.2017
06:32:32
окай

Jan
12.04.2017
06:34:06
Есть класс SomeService, например с пятью аргументами в конструкторе. Ну, или больше) Как вы считаете, вынос этих аргументов в объект SomeServiceOptions имеет смысл?

?
12.04.2017
06:35:21


Vadim
12.04.2017
06:37:10
вдруг из этого небольшого исследования что-то, да выйдет хорошего https://goo.gl/forms/YDiuZN1dAaCshSvx2 если наберется достаточно больше количество ответов и из адекватность будет хоть сколько-нибудь выше 0, то попробую на основании этого запилить что-то в духе "Сказ о том, как никто нихуя не мониторит"

Любимый
12.04.2017
06:37:14
Ноде.боль

Любимый
12.04.2017
06:47:42
Спамеры или не спамеры, вот в чем вопрос

Vadim
12.04.2017
06:48:07
симфонисты поди :)

Andrey
12.04.2017
07:12:09
ну и что, что оркестр

зато со своей ямой и дирижерами

Любимый
12.04.2017
07:26:09
Мне уже страшно

Sergey
12.04.2017
07:48:22
за_лся я уже с редиректом на https —- кто поможет)

Google
Sergey
12.04.2017
07:48:39
RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

Sergey
12.04.2017
07:49:35
вот тут ругается Неверное перенаправление на странице

Nadirq
12.04.2017
08:14:12
или 301

Sergey
12.04.2017
08:17:48
да сейчас этот вариант тоже попробую...

я так понял браузер надо очищать после каждой попытки

Попробуй R=302 поставить
если с тестовым такие траблы, чтоже будет на рабочем)

Страница 335 из 1387