
F01134H
07.09.2018
12:31:50
+ глубина вложенности не превышает 1 if
)

Adel
07.09.2018
12:33:44

darkwoolf
07.09.2018
12:33:44

Google

F01134H
07.09.2018
12:33:58
Это мое личное мнение
Что бы начать иначе думать, нужно загонять себя в рамки. Потому что пхп - очень безрамочная хрень
Можно все что хочешь наворотить
и это будет работать даже

Adel
07.09.2018
12:35:25
большинство моих экшенов в контроллере - 2-4 строки
а метрики такие на классы вводить... отстой

F01134H
07.09.2018
12:35:54
Хах

Adel
07.09.2018
12:35:55
как пойдет

F01134H
07.09.2018
12:36:02
Теперь понятно чей говнокод приходится поддерживать норм кодерам)

Adel
07.09.2018
12:36:08
чей?

F01134H
07.09.2018
12:36:22
Того, что думает, что ограничения - отстой

Adel
07.09.2018
12:36:31
ТАКИЕ метрики - отстой

Google

Adel
07.09.2018
12:36:38
читай внимательно

F01134H
07.09.2018
12:36:39

Adel
07.09.2018
12:37:07
ну хорошо. 50 строк метод.чтоон там делает у тебя?

F01134H
07.09.2018
12:37:18
Это максимум
а не обязательная длина

Adel
07.09.2018
12:38:19
надо думать не длинами методов и не их количеством в классе. а ответственностями. классов и методов.

F01134H
07.09.2018
12:38:29
Хех
Все взаимосвязано
Я ж говорю, ты начинаешь иначе мыслить, когда загоняешь себя в рамки. Многие вон вообще думают, что SRP - это про ответственность класса. А это не так

Adel
07.09.2018
12:39:40
а про что?

F01134H
07.09.2018
12:40:02
Если у тебя есть лимит в 5 методов, ты начинаешь думать, почему именно этот метод должен быть в этом классе
А модуль это абстрактная величина, может быть функцией, классом и даже целым пакетом

Adel
07.09.2018
12:40:36
ну это да

F01134H
07.09.2018
12:40:53
И правило SRP работает независимо от уровня

Adel
07.09.2018
12:41:15
но лимиты все эти... иногда их можно нарушить:) большинство догм иногда можно нарушать. и это не будет говнокодом

F01134H
07.09.2018
12:41:30

Adel
07.09.2018
12:41:35
одна из такихдогм - НИКАКИХ статических методов

F01134H
07.09.2018
12:41:42
Обычно это бывает так - не знаю куда пихнуть этот метод, а пускай тут лежит

Adel
07.09.2018
12:42:00
кароч ладно. нет смысла спорить. но лимиты в 5 методов и 50 строк на метод...так себе

Google

F01134H
07.09.2018
12:42:05

Adel
07.09.2018
12:42:15
еще хуже :)
а любого кто не согласен называть говнокодером - уже плохая привычка

F01134H
07.09.2018
12:43:17
В том же PSR длину строки рекомендуют не больше 120 символов. Та же степь.
Я рекомендую более жесткие правила, что бы сильнее декомпозировать функционал, что приводит к более простому масштабированию и следованию DRY по итогу
И тебе для этого не нужно никакие паттерны использовать, ты просто ограничен 5 методами и 50 строками
Мозг уже сам за тебя решит что и как

Dmitriy
07.09.2018
12:45:11

F01134H
07.09.2018
12:45:12
Это я еще про максимум 2 аргумента на метод не говорил :D Но такое пока мне не по силам

darkwoolf
07.09.2018
12:46:09

F01134H
07.09.2018
12:46:39

Dmitriy
07.09.2018
12:46:49

F01134H
07.09.2018
12:47:15
Кстати, цифра 5 не спроста взята. CRUD целиком в 5 методов укладывается (CRUD + метод для получения списка сущностей)
если появляются какие-то сайд методы - значит это уже отдельный функционал, требующий отдельного контроля

darkwoolf
07.09.2018
12:47:59
Есть исключительные случае и тд
https://www.youtube.com/watch?v=bLvLt2eIQCM
Как вы относитесь к этой фигне?
Раньше на симфони писал, то с ними было очень удобно, а в симфе это мне кажеться не так важно

Google

F01134H
07.09.2018
13:01:34
Мне кажется любой паттерн не является необходимым, пока ты не упираешься в какую-то проблему с архитектурой
и ты такой оп, смотришь список паттернов, читаешь описание. И тебя осиняет, как можно решить проблему

Admin
ERROR: S client not available

Adel
07.09.2018
13:40:07

Alexey
07.09.2018
13:42:00
Ребят, кто-нибудь генерировал PDF в Ларе? Как это лучше делать?

Даниил
07.09.2018
13:48:36

Alexey
07.09.2018
13:48:49
Спасибо.
Подскажите, пожалуйста.
Заказ состоит из продуктов. Среди них есть подарочные сертификаты (карты). Как правильно создать в модели customerOrder метод giftcard, возврающий только карты, а не все продукты? А то
map(
function ( $item ) {
return $item->giftcard;
}
Смотрится как-то не очень...

Ярослав
07.09.2018
14:42:40
если я правильно понял задачу, то можно аксессор написать

Илья
07.09.2018
14:49:23
если прям на уровне запроса отсеять, то scope

Azer
07.09.2018
15:24:26
В nova есть филд gravatar думаю как же сделать чтобы эту фотку показать на фронте сайта
По апи думаю
Но нет варианта делать это легче
Как и в нове

Alexey
07.09.2018
15:31:40
Ребят, у меня идиотский вопрос:
Есть Модель1. Ссылается на Модель2. Модель2 ссылается на Модель3.
Как через Модель1 получить все Модели3 ? hasManyTrough пробовал - не выходит.
public function Models3() {
return $this->belongsToMany(Model3::class,
'Model2_table',
'Model2_id',
'Model3_id'
);
}
?

Илья
07.09.2018
15:36:16
'https://secure.gravatar.com/avatar/'.md5($email).'?size=512'
можешь хелпер сделать
function gravatar($email) {
return 'https://secure.gravatar.com/avatar/'.md5($email).'?size=512';
}

Google

Azer
07.09.2018
15:48:06

[Anonymous]
07.09.2018
16:01:11
ребят вставляю в скрипт строку из блейда, которая содержит апостроф на выходе апостроф префращается в такую штуку ' но браузер его так и ввыводит.. в чем может быть дело?

Александр
07.09.2018
16:07:30
Как вы относитесь к этой фигне?
Репозитории активно использую на одном проекте где пока что инфа запрашивается с другого нашего ресурса по rest, но в будущем по мере расширения этого проекта будем отказываться от второго и вся инфа переедет в модели. Вот чтобы не встрять сильно в будущем решил делать через репозитории. Зачем ещё они могут пригодиться, хз.

[Anonymous]
07.09.2018
16:09:51

Ann
07.09.2018
16:12:49
код посмотреть бы. И что в блейде, и как вставляется в скрипт

Александр
07.09.2018
16:13:15
Точно
В скрипт говорите вставляете? А что скрипт делает? Некоторые функции вывода сами по себе экранируют символы.

[Anonymous]
07.09.2018
16:13:24
аа на выходе в html оказывается так '

Александр
07.09.2018
16:16:05

[Anonymous]
07.09.2018
16:16:22

Александр
07.09.2018
16:18:41