Алексей Анатольевич
public function buildForm(FormBuilderInterface $builder, array $options): void { $dt1 = new \DateTime(); $dt1_body = Array( 'widget' => 'single_text', 'html5' => false, 'format' => 'dd.MM.yyyy', 'input' => 'datetime', 'data' => $dt1, 'attr' => [ 'class' => 'js-datepicker', ] ); $dt2 = clone $dt1; $dt2->modify('first day of this month'); $dt2_body = $dt1_body; $dt2_body['data'] = $dt2; $builder ->add('From', DateType::class, $dt2_body) ->add('To', DateType::class, $dt1_body) ; $builder->addEventListener( FormEvents::POST_SET_DATA, function(FormEvent $event) { $form = $event->getForm(); $data = $event->getData(); if(isset($data)) { # dd($data); $form->get('From')->setData($data['From']); $form->get('From')->setData($data['To']); } } ); }
Алексей Анатольевич
форму инициализирую через контроллер
Алексей Анатольевич
# Build datepicker form $DataPickerForm = $this->createForm( DatePickerType::class, $FormData, [ 'action' => '/tickets/page/1', 'method' => 'POST' ] );
Алексей Анатольевич
даже если принудительная попытка не дает результатов
Алексей Анатольевич
$DataPickerForm->get('From')->setData($FormData['From']);
Алексей Анатольевич
к примеру, так выглядит массив, который хранит данные $FormData = [ 'From' => (new \DateTime())->modify('first day of this month')->setTime(0, 0, 0), 'To' => (new \DateTime())->setTime(23, 59, 59), ];
Алексей Анатольевич
не понимаю прикола, еслине передавать данные в builder, в add отправить их как пустой массив [], тогда все нормально.. че за..
Shokha
На столько плохо использовать profiler продакшне?
Andrey
xdebug плохо xhprof хорошо
А второй разве не на первом сделан? pcov почти не даёт проседания, но вроде на проде его не советуют
Andrey
А второй разве не на первом сделан? pcov почти не даёт проседания, но вроде на проде его не советуют
А, не, pcov только для покрытия. Вроде из-за этого overhead и минимальный
Дмитрий
А второй разве не на первом сделан? pcov почти не даёт проседания, но вроде на проде его не советуют
я как-то не изучал этот вопрос, но xhprof тоже практически не дает оверхеда, в отличие от xdebug
Дмитрий
насколько помню лицокнига как раз и разрабатывала xhprof для работы на проде
Алексей Анатольевич
В итоге для роута /tickets и /tickets/page/{page} оказалась одна и также логика в контроллере, как можно объеденить под один роут эту логику?
Shokha
xdebug плохо xhprof хорошо
я про чтобы посмотреть логи https://symfony.com/doc/current/profiler.html
Дмитрий
я про чтобы посмотреть логи https://symfony.com/doc/current/profiler.html
ааа, тогда собственно по твоей ссылке написан ответ в самом начале после меню )) даже жирным выделено слово NEVER ))
Shokha
ааа, тогда собственно по твоей ссылке написан ответ в самом начале после меню )) даже жирным выделено слово NEVER ))
да я прочитал! но я думал может как-то открыть доступ туда только по какой-то IP аддрес
Алексей Анатольевич
Указать один и тот же контроллер для разных роутов например
так роуты создаются в контроллере.. я создал отельный метод, без роута, в него по ссылке передаю тоже самое, что принимает метод для роутов. К тому же, роуты умею прописывать только через аннотации.. private function CallTickets( ManagerRegistry &$doctrine, Request &$request, int &$page = 1 ): Response
Алексей Анатольевич
не знаю, правильно или нет
Алексей Анатольевич
У меня вообще такой вопрос, а религия симфони позволяет использовать конструкторы в классах контроллеров?
Юра
Но обычно все зависимости передается в конкретный метод
Юра
Ниразу не понадобился конструктор контроллера
Юра
Но думаю что можно
Алексей Анатольевич
есть вероятность, что в будущем появятся общие для всех роутов данные. Можно, да, как говоришь ты.
Алексей Анатольевич
Unknown function \"dump\" in \"statistic_read/statistic.html.twig\", я так понимаю dump доступна только в dev окружении?
Алексей Анатольевич
Подскажите пожалуйста, какой кеш лучше всего по быстрому запилить для результатов sql запросов?
Алексей Анатольевич
Просто сервак ругается на {% if app.environment == 'dev' %} {{ dump(TICKETS_Attributes) }} {{ dump(TICKETS_Overall) }} {% endif %}
artem
всем привет) вопрос на засыпку) мне приходит выборка сущностей допустим на 10к. у этой сущности есть валидатор. как выкинуть ошибку, если в одной из сущностей нарушено правило валидации без цикла?
artem
все равно в какой, хоть на 9999
Юра
Использовать All валидатор
artem
а в реализации можно подсказать? те pubf($items) $validator->validate($items); ?
Юра
А что будет если просто передать массив?
artem
все уже ок. там all не нужен) снова вопрос из разряда: что то не помню. если мы из query берем массив, то вроде группы будут до одного места?
Юра
Ты про скалар резалт или что?
Юра
Да группы сериализации работают с объектами
Юра
Сделай эрэй мап и все
artem
Сделай эрэй мап и все
👍 надеюсь взлетит
Shokha
Добрый день! у меня один сервак там 2 проект! оба использует вот это пакет! https://github.com/Dukecity/CommandSchedulerBundle/blob/master/Command/ExecuteCommand.php#L147 вот это строка не дает запускать Cron Tasks ошибка: The command is already running in another process. но как я выше сказал оба оделенный проект отделенная база только в crone они запускается одновременно! но путь тоже разное! как-то можно игнорировать lock чтобы они нормально запускались !?
artem
Та не. Просто думаю оптимизировать заранее
Юра
Всеравно будет цикл
Юра
Можешь генератором сделать
Юра
Хотя в этом случае это не поможет
Юра
Я тебе скажу как будет максимально оптимизировано
Иван
сама коллекция должна быть собрана в структуру с валидацией с аннотацией алл валид или вручную гнать
Юра
Из бд получить курсор
Юра
Проходится по каждой строке и сразу выводить в буфер вывода
Иван
Из бд получить курсор
мне кажется, там не из бд приходит, а в бд приходит иначе какой смысл в валидации, если оно уже в базе хотя конечно разное бывает
Юра
Тогда можно хоть миллион записей выводить
Юра
Да я тоже не пойму зачем валидатор
artem
Gateway. Валидация если не пришло вплидное поле и отдавать данные не стоит
Anonymous
всем привет. помогите разобраться с автовайрингом. делаю сервис, с одним параметром и в конфиге прописываю аргумент типа "%kernel.debug%" - пробрасывается все ок но если то же самое делаю (добавляю конструктор с этим же параметром и добавляю определение в сервисе) для FlattenException нормалайзера - он его не может прокинуть и вылетает с ошибкой оО при этом любой другой сервис в нормалайзер прокидывается норм
artem
веселый вопрос) год назад его задавал(где то даже есть решение). как дропнуть where?
artem
я утром найду но просто интересно, по доктрине пройтись
Andrey
ResetDqlPart или что-то в этом духе в QueryBuilder есть
Shokha
Добрый день! Если с API приходить такой запрос! тогда serializer->deserialize ругает так: Control character error, possibly incorrectly encoded это скорее всего из за перенос строки! как поступать чтобы победить это?
Юра
Хы. Ты сломал телегу
Юра
Если кликнуть по картинке то пропадает часть текста
Юра
Так что там явно что-то в том тексте еен так
Юра
Скорее всего там есть какие-то спец символы которые обычно убирают регулярками
RNSNC
Как можно в твиг отобразить в переменной переменную? Есть переменная с числами и нужно вставлять число в качестве ключа в другую, что-то вроде {% if session.{{item.id}} is defined%} item.id равен обычному числу, к примеру 2. И нужно обратиться к session.2 Помогите(:
A
session[item.id] ?
RNSNC
Мне помогло attribute(session, item.id)
Алексей Анатольевич
Как завезти вебсокет? Это же по сути получается некий контроллер будет постоянно висеть в режиме исполнения?
Алексей Анатольевич
Встал вопрос вывода некого состояния ряда сущностей, не очень хочется это все ковырять на jq, хотелось бы задействовать возможности vue, ну и на ум пришла идея вебсокетов.
Алексей Анатольевич
Алексей Анатольевич
Ну да, кстати.. клиенты получаются будут на клиентах)))
Алексей Анатольевич
Ну да, твиг отдаст клиентскую часть, которая будет коннектится к серверу. Проблема то в том, что сейчас данные отправляет контроллер. Т.е. мне теперь ещё и в отдельном сервисе всю логику надо перенести. А веб сокет как поднять на том же серваке, что бы юзать тот же сервис, что иконтрлллер?
Shokha
Я сам использовал centrifugo
Алексей Анатольевич
Ну да просто отправлять некую структурированную инфу, взятую из БД
Алексей Анатольевич
Да я понять не могу, как запустить его.
Алексей Анатольевич
PHP же по вызову работает, а где логика