Size: a a a

Laravel Framework Russian Community

2021 January 10

s

s4b0t in Laravel Framework Russian Community
источник

Э

Элин in Laravel Framework Russian Community
Бот детектор?
источник

KN

Kirill Nesmeyanov in Laravel Framework Russian Community
ну что-то сломалось
источник

KN

Kirill Nesmeyanov in Laravel Framework Russian Community
не, на харде место кончилось
источник

Э

Элин in Laravel Framework Russian Community
На гитлабе, гитхабе, да и почти везде есть капча. Думаю, эти ребята что то знают.
источник

Э

Элин in Laravel Framework Russian Community
Я про неУловимого Джо Барбаро
источник

Э

Элин in Laravel Framework Russian Community
Что думаете?
источник

s

s4b0t in Laravel Framework Russian Community
задачи решать по мере поступления.
источник

Э

Элин in Laravel Framework Russian Community
Есть идея отслеживать действия пользователя. Пользователь который год не активен, удаляем
источник

Э

Элин in Laravel Framework Russian Community
Нормально же?)
источник

Э

Элин in Laravel Framework Russian Community
источник

KN

Kirill Nesmeyanov in Laravel Framework Russian Community
Kirill Nesmeyanov
не, на харде место кончилось
ух, редис весь в своп ушёл пешком
источник

KN

Kirill Nesmeyanov in Laravel Framework Russian Community
пришлось отрубать весь своп
источник

KN

Kirill Nesmeyanov in Laravel Framework Russian Community
потом чистить редис
источник

VY

Vladimir Yefremov in Laravel Framework Russian Community
Игорь
есть популярная магия, которую все используют. При этом ты тогда свой код привязываешь к фреймворку. Кто-то пишет фреймворконезависимый код. А кто-то использует всю магию подряд, что может может выстрелить в ногу, когда не будешь понимать где юзера на страницу не пускает, например. Так как мест для этого очень много
Если писать фреймворконезависимый , то зачем Лара?
Я принимал участие в одном таком проекте. Бред :( мучение, ушёл оттуда
источник

DE

Dmitry Eliseev in Laravel Framework Russian Community
Niko Las
Но время на чтение документации в итоге скомпенсируется ускорением разработки, не?
Вот код без магии:

class One {
 function a(int $m): self
 function b(int $n, int $p): self
 function build(): Two
}

class Two {
 function add (Listener $r): void
}

interface Listener {
  function onSuccess(Success $s): void
}

class Success {
  function getSender(): Two
  function getRow(): Row
}

Сразу видно, какие есть методы с какими аргументами. Есть интерфейс Listener, точно описывающий слушатель. Есть автоподстановка и автопроверка IDE. Можно проверить статическим анализатором вроде Psalm, что все методы вызываются корректно и с правильными аргументами. При опечатке сразу получаем undefined method call. Можно по Ctrl+Click зайти в каждый метод и посмотреть его исходный код.

А это код с магией:

class One {
 function __call($name, $vars) {
    $f = new Fluent();
    return ($f->$name)($vars)
 }
}

class Fluent {
 function __get($name)
 function __set($name)
 function __call($name, $vars)
}

class Two {
 function add (callable $f): void
}

Какие методы есть у One и Fluent? Смотрим список методов в документации. С какими аргументами их вызывать? Ищем там же в документации. Какие параметры нужно принять в анонимной функции $f? Указано в документации.

В итоге программируем наугад и описание каждого метода ищем в документации. Опечатка в названии метода может не привести к ошибке, так как __call всеяден. IDE все методы подсвечивает жёлтым как не существующие. Автоподстановка и проверка не работает. Надо ставить продвинутый IDE Helper, который сгенерирует огроменный meta-файл для всего фреймворка. Но не факт, что всё сгенерирует правильно. По Ctrl+Click вместо реального метода теперь попадаем в PHPDoc метафайла. Также надо ставить огроменный плагин для Psalm.

---

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

Да, без магии нужно прописывать больше кода, объявляя каждый метод и интерфейс. Но этим экономим на небходимости ставить тонны хэлперов.
источник

A

Adel in Laravel Framework Russian Community
Главное преимущество кода без магии - явность и предсказуемость. Но важность этих вещей понять можно поработав в крупном проекте с командой из нескольких проггеров.
источник

A

Adel in Laravel Framework Russian Community
Люди же часто хотят чтобы «ввввух и готово». Поэтому им приятно когда магия и все быстренько делается в начале. То, что потом приходится с этим жить и саппортить - мало кто думает
источник

А

Артём in Laravel Framework Russian Community
Вот, уважаемым гуру было не лень, поэтому они и гуру
источник

ar

agnerfist rm -rf in Laravel Framework Russian Community
https://verify-email.org/ может кому то будет полезна данная фича реализовать на своём проекте с ларой проверку мыльника на валид, защита от прошаренных ботов
источник