Ребя всем привет, в мутаторе я паршу входящий из input, вебсайт, я так делаю?

|
trin4ik 2022-07-04 12:16:19
цыганей подвезли
dok_dok_dok 2022-07-04 12:20:46
Ребя всем привет, в мутаторе я паршу входящий из input, вебсайт, я так делаю?
public function setWebSiteAttribute($webSite)
{
if (strlen($webSite) == 0) {
return;
}

$parsedUrl = parse_url($webSite);

$scheme = $parsedUrl[‘scheme’] ?? ‘https://’;
$host = $parsedUrl[‘host’] ?? »;
$path = $parsedUrl[‘path’];

$webSite = $scheme.$host.$path;

$this->attributes[‘web_site’] = $webSite;
}

iaxel 2022-07-04 12:21:03
trin4ik 2022-07-04 12:16:09
модель используют для описания структуры и её валидации, но не работу с ней. логику выносят в сервисы или те же репозитории. но это скорее привычка. по сути вы правы, т.к. модель транслирует методы типа create/update и ивенты, но это скорее золотая середина

в том то и дело, что из модели доступны методы create/update/find/query и т.д так зачем создавать еще одну очередную обертку для методов? Если бы я имел прямое подключение к бд аля через PDO который вызываю внутри репозитория, чтобы записывать, редактировать или удалять, то имеет смысл делать репозитории, но сейчас ситуация такая что, я создаю репозитории и внутри метод create чтобы вызывать метод create из модели

trin4ik 2022-07-04 12:22:52
iaxel 2022-07-04 12:21:03
в том то и дело, что из модели доступны методы create/update/find/query и т.д так зачем создавать еще одну очередную обертку для методов? Если бы я имел прямое подключение к бд аля через PDO который вызываю внутри репозитория, чтобы записывать, редактировать или удалять, то имеет смысл делать репозитории, но сейчас ситуация такая что, я создаю репозитории и внутри метод create чтобы вызывать метод create из модели

полностью вас поддерживаю, если что. по инерции писал репы на симфони, не понимая, зачем мне всё это. да я больше скажу, я чаще сложные запросы пишу на чистом sql (точнее mysql), ибо pdo собирает мои запросы криво и ломает explain

MrD1rk 2022-07-04 12:23:11
Adelf32 2022-07-04 12:11:04
не надо лепить охереть какую крутую архитектуру для простого крада

Это ведь твои статьи на хабре на тему реп в ларе?

trin4ik 2022-07-04 12:23:24
dok_dok_dok 2022-07-04 12:20:46
Ребя всем привет, в мутаторе я паршу входящий из input, вебсайт, я так делаю?
public function setWebSiteAttribute($webSite)
{
if (strlen($webSite) == 0) {
return;
}

$parsedUrl = parse_url($webSite);

$scheme = $parsedUrl[‘scheme’] ?? ‘https://’;
$host = $parsedUrl[‘host’] ?? »;
$path = $parsedUrl[‘path’];

$webSite = $scheme.$host.$path;

$this->attributes[‘web_site’] = $webSite;
}

лара какой версии?

Adelf32 2022-07-04 12:23:46
MrD1rk 2022-07-04 12:23:11
Это ведь твои статьи на хабре на тему реп в ларе?

я на хабр писал и в блоге своем. ни гитхабе… не помню

dok_dok_dok 2022-07-04 12:23:53
trin4ik 2022-07-04 12:23:24
лара какой версии?

5.5

MrD1rk 2022-07-04 12:24:25
Adelf32 2022-07-04 12:23:46
я на хабр писал и в блоге своем. ни гитхабе… не помню

поправил)
статьи крутые, спасибо. Сразу так и подумал, раз ты тригернулся на репы)

Adelf32 2022-07-04 12:24:47
у меня много триггеров. и репы один из них) есть еще трейты…
Adelf32 2022-07-04 12:24:56
суффикс Interface для интерфейсов…
iaxel 2022-07-04 12:25:13
Adelf32 2022-07-04 12:24:47
у меня много триггеров. и репы один из них) есть еще трейты…

а трейты тебе чем не понравились?) как по мне нормальная тема)

abordage_dev 2022-07-04 12:25:20
dok_dok_dok 2022-07-04 12:20:46
Ребя всем привет, в мутаторе я паршу входящий из input, вебсайт, я так делаю?
public function setWebSiteAttribute($webSite)
{
if (strlen($webSite) == 0) {
return;
}

$parsedUrl = parse_url($webSite);

$scheme = $parsedUrl[‘scheme’] ?? ‘https://’;
$host = $parsedUrl[‘host’] ?? »;
$path = $parsedUrl[‘path’];

$webSite = $scheme.$host.$path;

$this->attributes[‘web_site’] = $webSite;
}

И что у тебя запишется если строка не домен/урл? Валидируй поле, если не

trin4ik 2022-07-04 12:25:24
Adelf32 2022-07-04 12:24:47
у меня много триггеров. и репы один из них) есть еще трейты…

а триггеры на триггеры есть?

trin4ik 2022-07-04 12:25:49
trin4ik 2022-07-04 12:25:24
а триггеры на триггеры есть?

я про мускуль, есличо )

Adelf32 2022-07-04 12:26:13
iaxel 2022-07-04 12:25:13
а трейты тебе чем не понравились?) как по мне нормальная тема)

всем новичкам нравится. я знаю.

iaxel 2022-07-04 12:26:26
Adelf32 2022-07-04 12:26:13
всем новичкам нравится. я знаю.

та ну тебя)

trin4ik 2022-07-04 12:27:11
Adelf32 2022-07-04 12:26:13
всем новичкам нравится. я знаю.

а как же SoftDeletes?

Adelf32 2022-07-04 12:27:29
кароч я книгу для чего писал а? )
trin4ik 2022-07-04 12:28:12
Adelf32 2022-07-04 12:27:29
кароч я книгу для чего писал а? )

скинь ссылку ) я последнюю книгу по пахапэ читал в 2003, по php3

Adelf32 2022-07-04 12:28:13
https://github.com/adelf/acwa_book_ru/blob/master/manuscript/2-di.md#трейты

acwa_book_ru/2-di.md at master · adelf/acwa_book_ruGitHub
Книга «Архитектура сложных веб-приложений. С примерами на Laravel» — acwa_book_ru/2-di.md at master · adelf/acwa_book_ru
Adelf32 2022-07-04 12:28:20
вот. про трейты
MrD1rk 2022-07-04 12:29:06
трейты чисто для чистых функций — ок
если меняет контекст — застрелите
iaxel 2022-07-04 12:31:15
Adelf32 2022-07-04 12:28:13
https://github.com/adelf/acwa_book_ru/blob/master/manuscript/2-di.md#трейты

если в таком ключе их юзать то да согласен с притензией к трейтам

kafkianskiy 2022-07-04 12:32:34
MrD1rk 2022-07-04 12:29:06
трейты чисто для чистых функций — ок
если меняет контекст — застрелите

Ладно бы если просто контекст. Хуже того, когда контекста нет.

https://github.com/laravel/framework/blob/9.x/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php#L49

Например, тут нет метода validator() в трейте.

Adelf32 2022-07-04 12:33:41
После нескольких лет использования и неиспользования трейтов я могу сказать, что разработчики используют трейты по двум причинам:

борясь с последствиями архитектурных проблем;
создавая архитектурные проблемы (иногда не осознавая этого).

MrD1rk 2022-07-04 12:33:47
kafkianskiy 2022-07-04 12:32:34
Ладно бы если просто контекст. Хуже того, когда контекста нет.

https://github.com/laravel/framework/blob/9.x/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php#L49

Например, тут нет метода validator() в трейте.

ну кор разрабы подумали:»здесь нет, потом будут» Сtrl K)

Adelf32 2022-07-04 12:33:51
вот. это важный вывод.
SNuSNuMR 2022-07-04 12:38:11
Добрый день, коллеги!

Имею воркер выполняющий очереди на редисе в кубере. Ежедневно с утра вижу лог — Redis server went away
Воркер запускаем так: php artisan queue:work redis —daemon

Есть ощущение, что отваливается соединение из-за долгого простоя (но не уверен).
Может не хватает каких-то опций?

Подскажите, пожалуйста

trin4ik 2022-07-04 12:45:29
SNuSNuMR 2022-07-04 12:38:11
Добрый день, коллеги!

Имею воркер выполняющий очереди на редисе в кубере. Ежедневно с утра вижу лог — Redis server went away
Воркер запускаем так: php artisan queue:work redis —daemon

Есть ощущение, что отваливается соединение из-за долгого простоя (но не уверен).
Может не хватает каких-то опций?

Подскажите, пожалуйста

supervisor?

opekunov 2022-07-04 12:47:22
SNuSNuMR 2022-07-04 12:38:11
Добрый день, коллеги!

Имею воркер выполняющий очереди на редисе в кубере. Ежедневно с утра вижу лог — Redis server went away
Воркер запускаем так: php artisan queue:work redis —daemon

Есть ощущение, что отваливается соединение из-за долгого простоя (но не уверен).
Может не хватает каких-то опций?

Подскажите, пожалуйста

https://laravel.com/docs/9.x/queues#supervisor-configuration

trin4ik 2022-07-04 12:53:58
Кстати, чат же переименовали в pro, может стоит соответствовать? может стоит устроить что-то вроде «месяц rest на ларе», или «месяц ивентов/джобов на ларе», «месяц sql с ларой», «месяц кеша с ларой», «месяц сокетов с ларой»? Объединиться в инициативные группы, подойти к одной проблеме с разных концов, поменяться опытом, написать вердикт. м?

у меня есть претензии к реализации сокетов, я озвучивал. Так же у меня есть претензии к реализаии cors и csp. а так же у меня есть вопросы к самому себе, может я не правильно себе всё это представляю? Может месяц я погоричился, скажем квартал или пол года. Типа
«Пол года основная тема чата — REST. Реализация на ларе, как мы юзаем контроллеры, как юзаем эксепшены, как юзаем версии апи, как юзаем работу с медиа (фотки, эксели, почты) итп». меняемся опытом, обслуждаем и критикуем друг друга, на выходе готовим небольшую работу, где с доводами, практикой и мненимями рассказываем как лучше и почему мы так считаем.

Adelf32 2022-07-04 12:55:01
trin4ik 2022-07-04 12:53:58
Кстати, чат же переименовали в pro, может стоит соответствовать? может стоит устроить что-то вроде «месяц rest на ларе», или «месяц ивентов/джобов на ларе», «месяц sql с ларой», «месяц кеша с ларой», «месяц сокетов с ларой»? Объединиться в инициативные группы, подойти к одной проблеме с разных концов, поменяться опытом, написать вердикт. м?

у меня есть претензии к реализации сокетов, я озвучивал. Так же у меня есть претензии к реализаии cors и csp. а так же у меня есть вопросы к самому себе, может я не правильно себе всё это представляю? Может месяц я погоричился, скажем квартал или пол года. Типа
«Пол года основная тема чата — REST. Реализация на ларе, как мы юзаем контроллеры, как юзаем эксепшены, как юзаем версии апи, как юзаем работу с медиа (фотки, эксели, почты) итп». меняемся опытом, обслуждаем и критикуем друг друга, на выходе готовим небольшую работу, где с доводами, практикой и мненимями рассказываем как лучше и почему мы так считаем.

ну Про он просто для маркетинга. обычный чатик с обычными лара-проблемами

Adelf32 2022-07-04 12:55:17
в чатике для новичков бывают посильнее обсуждения)
trin4ik 2022-07-04 12:56:45
Adelf32 2022-07-04 12:55:17
в чатике для новичков бывают посильнее обсуждения)

однако я не раз видел, как отсюда с простыми вопросами отправляют в larawel_web, мол тут для про )))))))

Adelf32 2022-07-04 12:56:55
это тоже маркетинг)
trin4ik 2022-07-04 12:57:17
Adelf32 2022-07-04 12:56:55
это тоже маркетинг)

читал коммент тейлора к твоему PR в лару, вот тебе и «про»

Adelf32 2022-07-04 12:57:26
чтобы потом за 7500 рублей рекламу сюда совать)
trin4ik 2022-07-04 12:58:43
Adelf32 2022-07-04 12:57:26
чтобы потом за 7500 рублей рекламу сюда совать)

давай лучше оплату laravel idea для ру пользователей сделаем, я хочу участвовать в этом проекте дальше, хотя бы рублём. мне ещё многое от него надо )

Adelf32 2022-07-04 12:59:17
7500 это ж не мне.
trin4ik 2022-07-04 13:01:11
Adelf32 2022-07-04 12:59:17
7500 это ж не мне.

мне? ☺️

trin4ik 2022-07-04 13:01:22
тогда я согласен )
trin4ik 2022-07-04 13:01:47
нафиг недели и месяцы дискуссий, давайте просто на рекламу собирать
pochemushef 2022-07-04 13:25:47
Всем привет, как в laravel отображать содержимое по условию его даты? есть placement_date — дата публикации. И если с момента публикации прошло меньше 6 часов, то я отображаю
devphp9 2022-07-04 13:26:22
к сожалению никак.
devphp9 2022-07-04 13:26:32
в ларавел на сегодняшний день нет такой возможности
trin4ik 2022-07-04 13:27:30
devphp9 2022-07-04 13:26:32
в ларавел на сегодняшний день нет такой возможности

можно через таймзону скорректировать, типа таймзона минус 6 часов

devphp9 2022-07-04 13:28:51
ну как вариант, попросить администратора сервера перевести время на 6 часов
ExileeD 2022-07-04 13:29:50
pochemushef 2022-07-04 13:25:47
Всем привет, как в laravel отображать содержимое по условию его даты? есть placement_date — дата публикации. И если с момента публикации прошло меньше 6 часов, то я отображаю

добавить проверку перед показом публикации

trin4ik 2022-07-04 13:29:57
devphp9 2022-07-04 13:28:51
ну как вариант, попросить администратора сервера перевести время на 6 часов

тайлер позаботился https://laravel.com/docs/9.x/scheduling#timezones, можно запросы через шедулер запускать, а пока ждём нужной таймзоны, через новый vite прелоадер показывать

Laravel — The PHP Framework For Web ArtisansLaravel
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
|