Сергей
если ты переопределяешь трейт, то зачем он тебе вообще в этом классе?
artem
Вооот... В том то изначально вопрос и был
Сергей
разве что ты переопределяешь часть трейта
Сергей
в чем? вопрос был в практическом применении, а не в том, зачем юзать трейт в классе если его переопределяешь
Сергей
трейты это просто инструмент языка. мне кажется у них малое количество рили полезных юзкейсов
Сергей
но вот мне попался такой
artem
Покажите пожалуйста
artem
Или лучше все таки кейс
Сергей
если бы мог показать код, уже показал бы)))
artem
Ну я в таких случаях подключаю фантазию)
Сергей
у меня он был 1 за 4 года, так что думаю можно не сильно париться на счет трейтов
artem
Только без а и б сидели на трубе)
artem
Реально хочется хоть один кейс для бл
artem
у меня он был 1 за 4 года, так что думаю можно не сильно париться на счет трейтов
Тут вспомнил. На проекте были базовые методы которые должны переопределятся. И был случай когда разраб перепутал хелпер и трейт.
artem
Не все знают что такое this, вернее все, но не особо
Serezha
Когда работаешь в рамках фреймворка, продвинутые возможности языка используешь редкр
Serezha
Я не помню чтобы в доках Симфони рекомендовали трейты писать свои
Anton
я в фикстурках часто трейты юзаю, при миграции данных. для всяких там скачать/спарсить файлик, например
Вадим
Я за 5 лет ни разу не юзал трейты, мб кто-то хоть одно практическое применение покажет?
Трейты это копипаста, сам подумай где ты это можешь использовать (я б их не использовал)
Александр
Я не помню чтобы в доках Симфони рекомендовали трейты писать свои
встречал в symfony демо, там они запихали генераторы рандомного текста для фикстур и пихали трейты в фикстуры. И также эти трейты использовали уже в функциональных тестах круда админки
Александр
https://github.com/symfony/demo/tree/v1.1.1/src/DataFixtures
artem
Трейты это копипаста, сам подумай где ты это можешь использовать (я б их не использовал)
Ну для меня имхо это тот случай когда тебе не хватает одного абстрактного класса, но вот не представляю в каком случае такое может произойти
Anonymous
@SergeyMilegov будет жить. Поприветствуем!
Katulos
Господа, есть ли что нибудь для работы с очередями под symfony 4?
Katulos
Универсальное
Yoda
Есть
Katulos
Как называется?
Yoda
Например, https://packagist.org/packages/enqueue/enqueue-bundle
Yoda
Можно заюзать sf messenger component, если нужен bus
Maxim Kainov
Такое может произойти в случае плохого проектирования
Выше привели же пример. createdAt, updatedAt поля в сущностях. Очень удобно здесь использовать трейты. Без них придется копипастить. И трейты это не копипаста, они как раз и сделаны, чтобы избежать копипасты, когда другие средства не подходят.
Katulos
бодается с api-platform
Yoda
бодается с api-platform
Всегда можно найти решение в опенсорце
Сергій 🍉
Увы, оно не встает
Почему? У меня заводилось.
Anonymous
@avantipro будет жить. Поприветствуем!
Alexander
Всем привет , никак не пойму, если в symfony 4 в папке src/Resoursec будет public с js, css и прочим то после команды assets/install они не появляются в папке public. Теперь такие файлы напрямую ложить в public?
Alexander
Ясно, спасибо
Algis
подскажите, плз, есть форма редактирования статьи, есть вложенная форма, допустим "автор", как мне в форму "автора" передать id статьи ? В целом задача - создать нового "автора", если он не задан, а для создания "автора" нужен id статьи
Сергій 🍉
зачем автору нужен ид статьи? выглядит странно. передать можно через options.
Algis
автор в кавычках :) нет никакого автора, как собственно и статьи, это просто для примера названия
Algis
а как через options ? как протащить id статьи ?
Кирилл
если статья зависит от автора то нет никакого смысла в автора тащить ид статьи.
Algis
тут "автор" зависит от статьи :) я ранее писал, что нет "статья" и "автор" - это условные обозначения
Anton
То есть у тебя есть А зависящее от Б и Б зависящее от А?
Anton
Чёт тут проглядывает не совсем корректная архитектура...
Algis
Все норм там, сильно упростил
Anton
Ну пока сильное упрощение показывает что не очень, может что-то важное выкинул при упрощении?
Algis
@ontoho у меня нет цели доказать, что в приложении хорошая или плохая архитектура, оно работает и мне нужно допилить небольшую фичу, ради которой нет смысла переписывать полностью приложение
Anton
У меня нет цели показать что плохая или хорошая архитектура у тебя. Я лишь показываю что архитектура что описана выше слегка хромает, то есть на эту хромую архитектуру, не твою, а что описана выше - нет хорошего решения, то есть только самописное, которое сам придумаешь.
Algis
ок, там длинная цепочка связей между другими объектами, которая и скрывается под словом "автор"
Anton
У тебя сложная архитектура и нет тут common решения, то есть - пили своё 🙂
Algis
нашел, через ModelTransformer можно получить родительский объект
Сергій 🍉
ты его и через FormBuilder можешь получить
Algis
точно, спасибо!
Anonymous
@Rumours86 будет жить. Поприветствуем!
Ilya
как в контроллере получить данные из формы которая ещё не отправлена? $form->getData() и другие методы возращают null
Alexander
Request $request объви на вход в метод контроллера Потом $request->request->all() получишь все что передано постом.
Ilya
мне нужно построить таблицу на основе дефолтных данных из формы которая ещё не отправлена
Ilya
я написал такое решение, но думаю что можно сделать намного проще без избыточного цикла и дополнительного указания дефолтных данных которые и так уже есть в самой форме
Ilya
В соседнем чате подсказали
Ilya
и почему бы вторым аргументом не передать объект?
Ilya
что это даст? и объект чего?
Ilya
любой объект сделай какой-нибудь HeatMapDto (гусары, молчать) в котором у тебя будут свойствами прописаны твои поля, можно даже просто public $date_range; и т.п. и отдай вторым аргументов в createForm на этот же объект можешь потом натравить ассерт и тем самым разделишь описание формы (то что у тебя в Type) с дефолтными данными/данными из формы и их валидацией
Ilya
по такой аналогии? https://symfonycasts.com/screencast/symfony-forms/form-dto
Anonymous
@wofkaa будет жить. Поприветствуем!
Anonymous
@AniArmeni будет жить. Поприветствуем!
Anonymous
@DimaFKort будет жить. Поприветствуем!
Дима
Привет, помогите, не могу разобраться с роутингом с файлом routing.php. С YAML разобрался, а с php не могу <?php // app/config/routing.php use Symfony\Component\Routing\RouteCollection; use Symfony\Component\Routing\Route; $routes = new RouteCollection(); $routes->add('blog_list', new Route('/blog', array( '_controller' => 'AppBundle:Blog:list', ))); return $routes; <?php // src/AppBundle/Controller/BlogController.php namespace AppBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\Routing\Annotation\Route; class BlogController extends Controller { public function listAction() { die('32323'); } } Выводит, что такого роута нету
Дима
Я так понимаю blog это контроллер, а list это метод, поэтому и называется blog_list?
Ilya
Я так понимаю blog это контроллер, а list это метод, поэтому и называется blog_list?
Не уверен что эта определяется, как ты проверяешь?
Дима
Я разобрался, был скрытый отступ в yml
Anonymous
artem Lyadvin будет жить. Поприветствуем!
Anonymous
что значит скрытый отступ? пробел , \t
Anonymous
@Sadhanka будет жить. Поприветствуем!
Anonymous
@kossmokvin будет жить. Поприветствуем!
Kos Smokvin
Здравствуйте, подскажите, пожалуйста по Доктрине. Мне нужно сделать таблицу из двух полей: name и value где name это индексное и уникальное поле. Пробую так: * @ORM\Entity(repositoryClass="App\Repository\VariableRepository", * name="variables", * uniqueConstraints={@UniqueConstraint(name="variable_unique",columns={"name"})}, * indexes={@Index(name="user_idx", columns={"name"})} * ) —- Но ругается: [Semantical Error] The annotation "@UniqueConstraint" in class App\Entity\Varia ble was never imported. Did you maybe forget to add a "use" statement for this annotation?
Kos Smokvin
Первый раз имею дело с аннотациями, выходящими за пределы стандартных примеров... подскажите, пожалуйста, где и как добавить этот use ??
Сергій 🍉
после namespace use Doctrine\ORM\Mapping\UniqueConstraint; и почитай доку по неймспейсам