~
https://goo.gl/images/3r9qLt
Dmitry
@Eraice в спамеры переквалифицировался? :)
Andrey
ну я написал про то что стоит избегать. Естественно если если это осознная необходимость никто тебе не запретит именно так именовать
Т.е. вы хотели посоветовать думать над именованием методов? Причем тут тогда set и get вообще?)
Dmitry
Т.е. вы хотели посоветовать думать над именованием методов? Причем тут тогда set и get вообще?)
потому что практически все новички так именуют свои методы. Надо получить пишут гет, изменить сет. А если не писать эти сет гет, то уже начиешь задумываться что если getName и setName нельзя написать просто как name(), то надо какое то более понятное название для этих процессов.
Maksim (Ellrion)
имею и не использую сеттеры и геттры. Методам стараюсь давать осмысленные названия
что то мне кажется ты не верно понимаешь. От того что ты убрал из имени get\set твои методы не перестали быть геттерами и сеттерами
Maksim (Ellrion)
не спорю, может. Пролей свет
ну могу только повторить) "От того что ты убрал из имени get\set твои методы не перестали быть геттерами и сеттерами"
Dmitry
ну могу только повторить) "От того что ты убрал из имени get\set твои методы не перестали быть геттерами и сеттерами"
возможно, но теперь ты не "насильно" меняешь часть объекта. О общаешься с ним, прося изменить какое то его состояние например. Вместо setName, будет для примера please_change_fio_to($fio)
Andrey
dear_model_can_you_please_change_fio_to($fio)
Andrey
dear_model_can_you_please_change_fio_to($fio)
А он тебе такой : no
Dmitry
ну а че норм, от такого метода ты ожидаешь что он скажет, sorry not, this fio is not valid а от setFIO мы таких вольностей не ожидаем )))
Andrey
@ExileeD мне недавно посоветовал pinpong/modules - сейчас они переделались в nwidart/laravel-modules - хочу сказать большое спасибо за совет, это прямо очень крутая штука для больших проектов.
Andrey
В двух словах: создает папку Modules, где мы создаем логические модули (или плагины) системы и для каждого модуля доступны собственные контроллеры, вьюхи, модели, артизан-команды и пр. Тоесть nwidart/laravel-modules приводит в порядок большую структуру большого проекта
Andrey
Бывает такое, пишешь код и понимаешь что "уже обязательно должно быть что-то такое, чтобы стало удобнее и правильнее" :))
Alex
Почитал про get set anti pattern. Но если следовать ему это же overhead? Избыточные сущности ради концепции
Dmitry
Бывает такое, пишешь код и понимаешь что "уже обязательно должно быть что-то такое, чтобы стало удобнее и правильнее" :))
ну да, сначала такой опа, все делю на модули. Потом, опа их же можно как зависимости composer ставить )))
Andrey
а где их хранить, в приватном репо?
Dmitry
а где их хранить, в приватном репо?
где хочешь, если очень боишься за них, храни в приватном :) https://nwidart.com/laravel-modules/v3/advanced-tools/publishing-modules
Andrey
где хочешь, если очень боишься за них, храни в приватном :) https://nwidart.com/laravel-modules/v3/advanced-tools/publishing-modules
да нет, вообще не боюсь, просто клиенты будут негадовать если прознают
Dmitry
если прознают про что? у меня например есть модуль типа CRUD, он только функционал несет, и нет в нем каких пользовтельских данных
Andrey
модули для системы заказывают клиенты и платят за них
Dmitry
ну я обычно выношу в такие модули общий функционал который мне может потребоваться. например тот же круд, работа с картинками и т.д. А для именно приложений уже либо модули которые не публикуются, да и зачем им это? Либо все в папке App
Andrey
ну я обычно выношу в такие модули общий функционал который мне может потребоваться. например тот же круд, работа с картинками и т.д. А для именно приложений уже либо модули которые не публикуются, да и зачем им это? Либо все в папке App
вообщем система периодически используется в локальной среде без интернета. Это подразумевает, что клиент из репо забирает весь проект, но, поскольку пользоваться он может только теми модулями которые он купил, или заказал разработку для себя - мы должны каждому клиенту персонально настраивать конфигурацию
Andrey
кароче очень сложно объяснить этот продукт)
Dmitry
ну ты же используешь композер, сторонние пакеты? это тоже самое. Например почти в каждой админке стоит модуль пользоватли, и его функционал почти везде одинаков. Поэтому ты разрабатываешь модуль пользователи и просто кидаешь его в зависимости. Публикуются все модули в папку Module. При желании можешь модуль потом оставить, а зависимость отключить. Но сборка проекта у тебя так облегчится
Dmitry
а в чем суть "Пользователей" выносить в отдельный модуль? Это же самая стандартная из стандартных вещей? Я думал что модули это то что от проекта к проекту подключается/отключается
например у вас работают 2 программиста, у каждого свой проект. И ты добавил в своем возможности задавать группы пользователям. А второй сделал возможность опционально отправлять уведомления пользователям. Вот что бы в итоге этот функционал не терялся, а наращивался, удобнее использовать общий модуль
Andrey
да, это очень круто
Andrey
боже они даже собственные миграции из коробки поддерживают
Andrey
сегодня прекрасный день)
Vladimir
Подскажите, для создания полиморфных связей поля обязательно называть так? comments id - integer body - text commentable_id - integer commentable_type - string Или можно так? comments id - integer body - text parent_id - integer parent_type - string
Andrey
как доп параметры
Dmitry
боже они даже собственные миграции из коробки поддерживают
вот тут еще не плохая мыслишка как сделать модули независимыми. Но правда не совсем получиться так сделать ))) https://gist.github.com/greabock/48787baab768b519f21c
Maksim (Ellrion)
а хотя я смотрю там правки. раньше оно типо про ддд было. теперь просто модульность)
Dmitry
ну там в коментах он сказал что ddd это для затравки )
Dmitry
но в целом там всеравно связанность есть. Самая большая проблема там это связи моделей (
Maksim (Ellrion)
их можно на лету добавлять при желании
Maksim (Ellrion)
в провайдере модуля
Dmitry
их можно на лету добавлять при желании
ну вот да, и тут как раз у нас будет связанность. мы уже не может например модуль статей использовать без пользователей.
Dmitry
вот если бы как то спрашивать у системы, если ли какие нибудь пользоватли? есть - тогда могут ссылаться на наши статьи. нет - ну и фиг с ними, так будем выводить
D
Приветствую! Столкнулся с проблемой, разработал сайт на Laravel на локальном компе, все ок все гуд. Выдали сервер, Env cтоит production, я его выложил и у меня не работает локализация. Везде где в blade стоит @lang('app.item') на сайте у меня выводится APP.ITEM, как будто не находит перевод, но у меня есть файл перевода и сам item тоже переведен, но Laravel говорит что нет. Кто сталкивался с такой проблемой?
D
посмотри какая локаль определяется и точно ли есть такой файл
локаль определяется ru, файл /resources/lang/ru/app.php есть
D
в нем есть массив с переводами, все ок
SarcasmIO
Спасибо, почитаю в пятницу, а что такое ddd
способ разделения логики по проекту, логически выходящий из high cohesion low coupling/grasp/solid принципов
Сергей
Привет) ребят подскажите как можно обращаться к данным если связь n..n есть таблица client_id level_id percent(integer) Как получить percent в связующей таблице?
Юрий
способ разделения логики по проекту, логически выходящий из high cohesion low coupling/grasp/solid принципов
авгурство для новичков) зачем так делать?) можно же сказать, что это разработка, основанная на предметной области, а подробнее - иди читай, интересуйся.)
Dmitry
способ разделения логики по проекту, логически выходящий из high cohesion low coupling/grasp/solid принципов
скорее это способ перенсти процессы предметной области в логику приложения
SarcasmIO
grasp/solid как раз про это
Dmitry
нет, совсем про другое
Юрий
не вижу твою претензию
суть ее в том, что чувак, который задал вопрос, видимо даже не сталкивался с абревиатурой. Следовательно, возможно ему недостает каких-то других знаний из области, чтобы понять твое объяснение. Я предложил упростить максимально ответ, убрав из него конкретику и триггеры в виде отдельных принципов, которые еще надолго отвлекут его.
SarcasmIO
ну тут ты прав
Юрий
=)
Andrey
Вот это заход
Malloy
😄
Volodymyr
🤣🤣\
Volodymyr
А ты сам не школота случаем?)
David
На работе нормально, Борька уже вышел с больничного, а сам как?
Volodymyr
та ты вообще мощный
Юрий
После такого приветствия остается добавить типа "вечер в хату, сеньоры, к вам разработчик из Волгограда"
Volodymyr
Не катирую разработчиков, по размытым говнорамкам. Это для рекрутеров...
Юрий
Товарищ, зря вы зашли в чат с измерения должностей.) Тут многие люди аутсорсят или фрилансят. Или просто для себя занимаются немного ларой, не работая в этой сфере
Anton
После такого приветствия остается добавить типа "вечер в хату, сеньоры, к вам разработчик из Волгограда"
У тебя два апи - одно глючное, второе тормозное - какое на бэк поставишь, какое партнерам отдашь
Юрий
Держи нас в курсе, очень интересно
Malloy
Клуб анонимных ларавеликов