Кирилл
Че, по голове клавиатурой бьют?
artem
Alexey Mishurovskiy
Кто-то запускал штатный веб сервер симфони в докере?
symfony server:stop //специально добавил в попытке решить проблему
symfony server:start --document-root="./public" --no-tls --port=80 -vvv
Alexey Mishurovskiy
Alexey Mishurovskiy
и типа если пробовать несколько раз раз на 5-й он стартанет
Alexey Mishurovskiy
запускается соответственно в entrypoint
Гречушников
https://stackoverflow.com/questions/28676032/symfony2-choice-constraint-using-doctrine-repository
это нормально делать валидацию в самой энтити?
Alexey Mishurovskiy
Alexey Mishurovskiy
а это уже выглядит как дичь
Гречушников
спасибо )
Alexey Mishurovskiy
тогда можно туда заинжектить сам энтити менеджер и сделать из дата меппера актив рекорд ))
Alexey Mishurovskiy
спасибо )
Используй компонет Validator
Гречушников
да да, меня просто смутил этот момент. как бэ понимаю, что так делать нельзя, но там советуют еще и лайки стоят
Daria
Alexey Mishurovskiy
Alexey Mishurovskiy
Речь про инжект валидатора в сущность
Гречушников
ребят. а в доктрине есть так называемые скоупы? именнованные фильтры.
Aleksandr
это как хрень в ларвеле?
Гречушников
угу
Aleksandr
нет
Aleksandr
зачем они там?)
Гречушников
ну, чтобы не дублировать одни и те же фильтры в репозитории.
например получить активный проект. его же но с пользоватлем и т.д.
Aleksandr
а параметры религия не позволяет?)
Aleksandr
зачем же дублировать
Maxim Kainov
Гречушников
спасибо, уже посоветовали этим воспользоваться
Ilya 🃏
Привет, кто знает, почему такая ошибка вылетает при попытке получить любые данные из бд в любой команде?
Ilya 🃏
И такое происходит только при запуске кода через команду, абсолютно тот же код запущенный в контроллере работает отлично
.exe
.exe
иногда терминалы не воспринимают кириллицу
Гречушников
Надо за рекламу денег уже брать )
Maks
Гречушников
В пхп раша
Maks
Maxim Kainov
.exe
Ilya 🃏
😢
Ilya 🃏
Ilya 🃏
Из-за формата Uuid
Dejan
hej guys, i have a question on symfony 4 messenger
i need to dispatch message in serialized array format
what is the best solution?
do i create custom serializer encode method or there is a better solution ?
spasiba
Kirill
Anonymous
Гуманоидный Тайфун
Dmitry
Зачем отдельный тип для этого делать, сделай стринг
В мускуле varchar как primary guid может вызвать тормоза
Binary Database Columns
In the previous example, Doctrine will create a database column of type CHAR(36), but you may also use this library to store UUIDs as binary strings. The UuidBinaryType helps accomplish this.
https://github.com/ramsey/uuid-doctrine
Maxim Kainov
Dmitry
- UUID has 36 characters which make it bulky.
- InnoDB stores data in the PRIMARY KEY order and all the secondary keys also contain PRIMARY KEY. So having UUID as PRIMARY KEY makes the index bigger which cannot be fit into the memory
- Inserts are random and the data is scattered.
https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/
Dmitry
если используется библиотека от ramsey то надо вручную создавать функции в БД
You can use this format in mysql cli with these two functions:
CREATE
FUNCTION `uuid_to_ouuid`(uuid VARCHAR(36))
RETURNS BINARY(16) DETERMINISTIC
RETURN UNHEX(CONCAT(
SUBSTR(uuid, 15, 4),
SUBSTR(uuid, 10, 4),
SUBSTR(uuid, 1, 8),
SUBSTR(uuid, 20, 4),
SUBSTR(uuid, 25, 12)
));
CREATE
FUNCTION ouuid_to_uuid(uuid BINARY(16))
RETURNS VARCHAR(36)
RETURN LOWER(CONCAT(
SUBSTR(HEX(uuid), 9, 8), '-',
SUBSTR(HEX(uuid), 5, 4), '-',
SUBSTR(HEX(uuid), 1, 4), '-',
SUBSTR(HEX(uuid), 17,4), '-',
SUBSTR(HEX(uuid), 21, 12 )
));
которые преобразуют binary -> string, string -> binary
Maxim Kainov
Maxim Kainov
Dmitry
Maxim Kainov
Let’s rearrange the total sequence making the UUID closer to sequential. This makes the inserts and recent data lookup faster.
Maxim Kainov
Maxim Kainov
А объем памяти, выделяемой под индексы настраивается вроде как
Dmitry
Может не хватать памяти, но не значит, что это причина тормозов.
это старый холивар так и не пришедший к единому мнению.
У человека это используется и вызывает проблемы при преобразовании. Причем только в консоли.
Могу предположить что:
- разные .env с разными базами;
- разные настройки php веб сервера и cli
что еще может быть?
Maxim Kainov
Гречушников
а по правилам камелькейса как правильно писать
personFirstName
или
personFirstname
.exe
Гречушников
firstname это одно слово или составное?
personBirthday или personBirthDay )
.exe
каждое новое слово с большой буквы
Гречушников
да я понимаю, но я могу ошибаться, но мне кажется firstname это одно слово. нет?
...
судя по яндексу, это два слова...
Гречушников
а bd это все же одно
.exe
это 2 слова
Гречушников
Хлопцы.
Вот в доктрине есть ембедед.
у меня в таблице пара десятков полей. я разнес их по классам. круто удобно.
а есть ли такой функционал, чтобы я мог разнести содержимое json поля?
там много всякой ереси хранится, хотелось бы ее как то регламентировать
Eugen Su
Ilya 🃏
если используется библиотека от ramsey то надо вручную создавать функции в БД
You can use this format in mysql cli with these two functions:
CREATE
FUNCTION `uuid_to_ouuid`(uuid VARCHAR(36))
RETURNS BINARY(16) DETERMINISTIC
RETURN UNHEX(CONCAT(
SUBSTR(uuid, 15, 4),
SUBSTR(uuid, 10, 4),
SUBSTR(uuid, 1, 8),
SUBSTR(uuid, 20, 4),
SUBSTR(uuid, 25, 12)
));
CREATE
FUNCTION ouuid_to_uuid(uuid BINARY(16))
RETURNS VARCHAR(36)
RETURN LOWER(CONCAT(
SUBSTR(HEX(uuid), 9, 8), '-',
SUBSTR(HEX(uuid), 5, 4), '-',
SUBSTR(HEX(uuid), 1, 4), '-',
SUBSTR(HEX(uuid), 17,4), '-',
SUBSTR(HEX(uuid), 21, 12 )
));
которые преобразуют binary -> string, string -> binary
Не сработало 😢
Гречушников
Спасибо
Гречушников
Благодарю
Гречушников
https://anil.io/blog/symfony/doctrine/symfony-and-doctrine-pagination-with-twig/
подскажите, с пагинацией это верное решение?
как то сложновато с итератором на первый взгляд
Сергей
просто гидрировать не сразу будет, а так все ОК
Гречушников
просто гидрировать не сразу будет, а так все ОК
разреши еще второй вопрос.
я тут заиспользовал функционал embedded
в пт вроде о нем спрашивал.
а как у него обстоят дела с производительностью? не в курсе?
изначально при использовании у меня была мысль, что компилерпасс оптимизирует все это. но я еще не проверял. если есть опыт поделитесь плз
Сергей
Сергей
Гречушников
Сергей
либо вот, небольшая обертка над доктриновской.
https://github.com/symfony/demo/blob/master/src/Pagination/Paginator.php#L47
строка на момент с хинтом