@laravel_pro

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

)

darkwoolf
07.09.2018
12:33:44
не больше 5 методов на класс и не больше 50 строк на метод
У меня точно есть нарушение этих правил

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
кароч ладно. нет смысла спорить. но лимиты в 5 методов и 50 строк на метод...так себе
Я не говорю что нужно именно так поступать. Но многие умные дядьки советуют такие ограничения - в той или иной мере. И это не спроста. Тут конечно можно парировать, что я своего мнения не имею и ссылаюсь на чужое. Но я проверил это лично и это реально работает, реально начинаешь думать иначе. И результат радует

В том же PSR длину строки рекомендуют не больше 120 символов. Та же степь.

Я рекомендую более жесткие правила, что бы сильнее декомпозировать функционал, что приводит к более простому масштабированию и следованию DRY по итогу

И тебе для этого не нужно никакие паттерны использовать, ты просто ограничен 5 методами и 50 строками

Мозг уже сам за тебя решит что и как

Dmitriy
07.09.2018
12:45:11
Я думаю контроллер должен касаться 1 части проекта
что делать если у постов 50 методов ?

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

darkwoolf
07.09.2018
12:46:09
что делать если у постов 50 методов ?
у меня в проекте для такого есть например: CreatePostController, PostController и так далее

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
ты отпределись и не противоречь себе же
НУ если в моём случае есть OrderController на 3к и OrderCreationController на 300 строк, то лучше разделять в таком случае

Есть исключительные случае и тд

https://www.youtube.com/watch?v=bLvLt2eIQCM

Как вы относитесь к этой фигне?

Раньше на симфони писал, то с ними было очень удобно, а в симфе это мне кажеться не так важно

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

и ты такой оп, смотришь список паттернов, читаешь описание. И тебя осиняет, как можно решить проблему

Admin
ERROR: S client not available

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

Даниил
07.09.2018
13:48:36
Ребят, кто-нибудь генерировал PDF в Ларе? Как это лучше делать?
https://github.com/barryvdh/laravel-dompdf/blob/master/readme.md Этот использовал

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
В nova есть филд gravatar думаю как же сделать чтобы эту фотку показать на фронте сайта
Там же очень легко ссылка на изображение генерируется

'https://secure.gravatar.com/avatar/'.md5($email).'?size=512'

можешь хелпер сделать

function gravatar($email) { return 'https://secure.gravatar.com/avatar/'.md5($email).'?size=512'; }

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

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

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
да это либа для чартов
Если она не поддерживает хтмл, то может в блейде без фильтра передать?

Страница 1839 из 2014