Konstantin
хыхы
Юра
Представляю как это весело ловить сегфолты в продакшене
Юра
core dumped, держитесь, хорошего настроения
Konstantin
лучше чем в гошке - она даже корку не умеет)
Данил
а что такое корка?
Konstantin
core dump
Aleksandr
а что такое корка?
чёрного хлебушка
Ivan
Добрый день! Кто-нибудь делал контроль сеансов пользователя? В данный момент я построил схему сеансов на основе remember_me токена, взяв за пример PdoTokenProvider. Если я удаляю все сеансы пользователя, то механизм rememberMe не сработает, когда он очередной раз попытается восстановить сессию. Но пока сессия активна, я могу продолжать пользоваться сайтом, как авторизованный пользователь. И вот тут начинается проблема, какого-то дефолтного функционала я не нашёл, использовать PDO для этого не хочется, смотрю в сторону Redis, но он не пишет информацию о пользователе. Есть идея взять Redis с тегированием и тегировать сессию IDишником сеанса, заодно и пользователем. И при удалении сеанса удалять все сессии тегированные данным сеансом. Опять же возникает проблема если пользователь изначально не авторизован, была создана сессия, а потом после авторизации её нужно протегировать? Как-то сложно получается, или нормально и нужно делать?))
𝕎𝕒𝕣𝕞
Здравствуйте, я новенький в симфони
𝕎𝕒𝕣𝕞
Если где-то сильно ошибаюсь то не ругайтесь. Я делаю сервис блогов
𝕎𝕒𝕣𝕞
И не знаю как сделать поиск авторов блога по автору
𝕎𝕒𝕣𝕞
Ибо попробовал сам и получил на 1 блог 1 запрос
Arnur
Какая связь между Blog и Author?
𝕎𝕒𝕣𝕞
Какая связь между Blog и Author?
App\Entity\User и App\Entity\Blog
Sergey
App\Entity\User и App\Entity\Blog
https://symfonycasts.com/screencast/symfony4-doctrine-relations/comment-entity Это сущности, а не связи. Рекомендую вам для начала просмотреть курс и в частности обратить внимание на 4 главу
Юра
Как думаете сколько в мире пользователей симфони?
Dmitry
Как думаете сколько в мире пользователей симфони?
Активных скачиваний через conposer ~90к в день https://packagist.org/packages/symfony/framework-bundle/stats
Dmitry
А число необновляющихся проектов мы не узнаем
Dmitry
А у отдельных компонентов вроде https://packagist.org/packages/symfony/http-foundation/stats по 300к скачиваний, так как они используются в Laravel и других пакетах.
Юра
Очень много как-то. Наверное много скачиваний накручивает CI
Юра
Вот если бы они показали уникальные айпи. Вот это было бы поближе
Jonny
Вот если бы они показали уникальные айпи. Вот это было бы поближе
все упарываешься в тему что пхп и симфа тлен? ))
Юра
Не совсем
Юра
Просто смотрю вот тут 600 чел всего
Юра
Как-то странно мало
Null
Просто смотрю вот тут 600 чел всего
Так говоришь, будто всего одна конфа по симфони.
The Ant
Просто смотрю вот тут 600 чел всего
из всех языков у пхп самая маленькая аудитория в чатах, по моим наблюдениям. не удивительно, что у нишевого фреймворка аудитория копеечная
The Ant
а вообще в гугел трендах можешь глянуть кто юзает симфу. там кроме поляков и французов она никому и не нужна больше )
Viktor
Ребят, всем привет! Кто-нибудь у себя в проектах использовал sluggable от doctrine-extentions? Пытаюсь сгенерировать слаг = связь->связь->поле. В документации есть описание RelativeSlugHandler, но он как-будто только на один уровень связи, то есть relation->поле. Может, у кого есть идеи? Заранее спасибо!
Иван
/warn@BanWarnBot
Ban Warn Bot
/warn@BanWarnBot
Only admins in this chat can do that. Sorry.
Viktor
тоже были проблемы с этим. после решил сделать свой мини сервис для генерации на основе Transliterator
Я более быстрый вариант сделал. Отказался от этой библиотеки для этой задачи. Сделал с помощью Doctrine Events. Отслеживаю postPersist event, и всю логику по составлению слага туда засунул. 10 строк кода получилось и очень прозрачно.
Viktor
Сеошники тебя не съели? Если слаг участвует в генерации урла страницы, его категорически нельзя менять автоматически
да, именно поэтому использую postPersist событие, он только при создании срабатывает. или я чего-то не знаю?
Юра
Ну и если через каскад персист
Юра
Вообщем да если новая
Viktor
ну тогда вроде как рабочий вариан)
Юра
Первая выдача по запросу почему симфони не популярна
Юра
Юра
Короче большинство просто не хочет ничего учить, хотят сесть побыстрее тяп ляп и готово
Юра
Бизнесу не нужны симфони и сложные системы. Ему нужно как можно дешевле сделать что-то абы работало и не дорого
Юра
А потом приходишь в контору которая собесит словно гугл, а там говнокод на реакте и рядышком говнокодьна yii
Юра
Зато codestyle настроен
Denis
Короче большинство просто не хочет ничего учить, хотят сесть побыстрее тяп ляп и готово
Угу. Симфони, ООП - сложно, я там ничего не понял, давайте лучше на чистом пхп сейчас всё быстренько накидаю
Юра
И накидал по пути кучу велосипедов
Юра
А потом свалил
Юра
)
Denis
Хорошо, если просто велосипедов...)
Denis
А бизнес потом думает что делать со всем этим недорогим сокровищем за которое никто не хочет браться )
Юра
))
Юра
ООП на файлах
Юра
Приватные лежат в скрытой директории
Konstantin
мне вон тестовое задание на днях прислали
Konstantin
#[Route('/home', name: 'home')] public function home(): Response { $session = new Session(); $user = $session->get('user', 0); $username = $session->get('username', 'аноним'); include "templates/home.php"; return new Response(""); }
Konstantin
а вы говорите
Юра
Зашибок
Юра
Я вообще поражаюсь
Konstantin
да я тоже в этот раз немного потерялся даже, уж всякого вроде насмотрелся
Юра
Главное КОДСТАЙЛ
Юра
И тесты
Konstantin
а тут прям теряюсь в догадках, что мог автор иметь в виду
Юра
И пиши какое хочешь говго
Konstantin
и по папочкам посложнее разложить, чтобы там по юзкейсам было
Konstantin
и конечно ДТО!
Юра
ДТО в отдельную папку обязательно
Юра
C:/Documents
Юра
Короче победил мир полумидлов
Юра
Их достаточно чтобы склепать что-то
Konstantin
вот еще должно понравиться
Konstantin
#[Route('/create_post', name: 'create_post')] public function create(ManagerRegistry $doctrine): JsonResponse { $title = $_POST['title']; $preview = $_POST['preview']; $text = $_POST['text']; $author = $_POST['author']; $date = date_create_immutable("now", null); $post = new Post(); $post->setTitle($title) ->setPreview($preview) ->setText($text) ->setAuthor($author) ->setCreatedAt($date); $entityManager = $doctrine->getManager(); $entityManager->persist($post); $entityManager->flush(); $str = $date->format('Y-m-d'); return $this->json([ 'message' => 'Post "'.$title.'" has been created at "'.$str.'"', 'id' => $post->getId(), ]); }