Так зачем тогда нужна доктрина? Если все запросы через пдо проводить, то и видоизменять сущности тоже можно через пдо) Есть вообще случаи когда все эти "доктриновские" связи пригодны? Они рождают циклические зависимости: т.е. если у сущности поста есть комментарии, в сущности комментария есть ссылка на пост, то при выборке всех комментариев к посту в каждой сущности комментария подгрузится и ссылка на пост - это лютейший оверхед и жесть...
Пригодны для демо проэктов хелоу ворд ) но больше всего для прототипирования и быстрокодинга. Так же что бы прогер не вникал особо в sql. Самое дорогое это время сеньеристого программиста... Поэтому и создают больше магии и больше автоматизации что бы не тратить время на создание просто кода, который может наклепать даже жун. Так то нет ничего универсального, так же как и нет предела оптимизации, какой проэкт не копни, везде можно что то оптимизировать, я более чем уверен что даже тут, где уже что то сам Димас наоптимизировал, придет спец по запросам и бд и засрет его подход, тк наверняка есть другие более продвинутые способы оптимизации, или настройки для бд.
@@qAntBcn вот смог таки этот единственный случай отыскать: /** * @ORM\Entity * @ORM\Table(name="city") */ class City extends \Core\Entity\City { /** * @ORM\ManyToOne(targetEntity="Core\Entity\Country", inversedBy="") * @ORM\JoinColumn(name="country_id", referencedColumnName="id") */ protected Country $country; /** * @ORM\ManyToOne(targetEntity="Core\Entity\Region", inversedBy="") * @ORM\JoinColumn(name="region_id", referencedColumnName="id") */ protected Region $region; } если параметр inversedBy оставить пустым ничего коннектится не будет. Правда если нужно получить страну со всеми городами и регионами тут уж без магии все явно придется делать.
Дмитрий, скажите, пожалуйста, что за шрифт для рабочей области (кода) вы используете? Знаю в качестве шрифта для самого редактора phpStorm, Tahoma, верно?
Доброго времени суток уважаемый Дмитрий уменя к вам просьба, пожалуйста покажите как правильно Делать Мультиавтори-зация по нескольким таблицам в базе данных. (YII2) Я делаю все как показано в официальной документации, но там показан пример только стаблицей User, и он прекрасно работает. А вот у меня к примеру Таблицы admin subscriber vipuser, при выполнений тех же операции что и в доках. Все равно работает только с таблицей Юзер. Я знаю что есть rbac, но зачем мне он когда я хочу просто создать таблицы, выполнить контракты auth указать таблицы и добавить их в компоненты. Почему что еще должно мне в этом мешать.
Для фреймворка у вас должен быть один отдельный класс Identity, реализующий IdentityInterface. И который в findIdentity($id) мог бы искать запись в ваших трёх таблицах как здесь: www.yiwork.com/wiki/2545/using-multiple-models-in-an-identity Альтернативный вариант - помимо этих трёх таблиц логины и пароли для аутентификации вынести назад в ту же таблицу user (с ролью или без), а эти subscriber и vipuser подсоединять по тому же id. И в RBAC в Rule по роли или по if (!Subscriber::findOne($userId)) { return false; } проверять доступность экшенов.
Задумался тут на днях о переходе на ubuntu. Но возник вопрос фотошопа и MS OFFICE. Чтобы более-менее живо работало, не так как в виртуалке virtualbox'а (т.е. нужно участие GPU). - С wine (через playonlinux) с наскоку не получилось. Может еще потыкаюсь без POL, но все равно костыльно выглядит. - Если б была еще одна видюха (для проброса) - можно было бы задуматься о виртуалке на qemu. - Dualboot как-то тоже не возбуждает. Так что пока выходит, что нужно оставаться на винде + виртуалки с убунтами для докера и прочего.
Как говориться, маэстро, снимаю шляпу.
Хорошо бы ещё мастер-класс по деплою всего этого дела
Так зачем тогда нужна доктрина? Если все запросы через пдо проводить, то и видоизменять сущности тоже можно через пдо)
Есть вообще случаи когда все эти "доктриновские" связи пригодны? Они рождают циклические зависимости: т.е. если у сущности поста есть комментарии, в сущности комментария есть ссылка на пост, то при выборке всех комментариев к посту в каждой сущности комментария подгрузится и ссылка на пост - это лютейший оверхед и жесть...
Пригодны для демо проэктов хелоу ворд ) но больше всего для прототипирования и быстрокодинга. Так же что бы прогер не вникал особо в sql. Самое дорогое это время сеньеристого программиста... Поэтому и создают больше магии и больше автоматизации что бы не тратить время на создание просто кода, который может наклепать даже жун.
Так то нет ничего универсального, так же как и нет предела оптимизации, какой проэкт не копни, везде можно что то оптимизировать, я более чем уверен что даже тут, где уже что то сам Димас наоптимизировал, придет спец по запросам и бд и засрет его подход, тк наверняка есть другие более продвинутые способы оптимизации, или настройки для бд.
@@qAntBcn вот смог таки этот единственный случай отыскать:
/**
* @ORM\Entity
* @ORM\Table(name="city")
*/
class City extends \Core\Entity\City
{
/**
* @ORM\ManyToOne(targetEntity="Core\Entity\Country", inversedBy="")
* @ORM\JoinColumn(name="country_id", referencedColumnName="id")
*/
protected Country $country;
/**
* @ORM\ManyToOne(targetEntity="Core\Entity\Region", inversedBy="")
* @ORM\JoinColumn(name="region_id", referencedColumnName="id")
*/
protected Region $region;
}
если параметр inversedBy оставить пустым ничего коннектится не будет.
Правда если нужно получить страну со всеми городами и регионами тут уж без магии все явно придется делать.
Я вот тот же вопрос имею)
Вы разобрались? Накой эта доктрина, если я sql пишу чистый можно сказать
Комментарий в поддержку канала что бы как можно больше людей увидели это крутое видео.
Дмитрий, скажите, пожалуйста, что за шрифт для рабочей области (кода) вы используете? Знаю в качестве шрифта для самого редактора phpStorm, Tahoma, верно?
В PhpStorm шрифт Source Code Pro
@@ElisDN Благодарю!
Доброго времени суток уважаемый Дмитрий уменя к вам просьба, пожалуйста покажите как правильно Делать Мультиавтори-зация по нескольким таблицам в базе данных. (YII2) Я делаю все как показано в официальной документации, но там показан пример только стаблицей User, и он прекрасно работает. А вот у меня к примеру Таблицы admin subscriber vipuser, при выполнений тех же операции что и в доках. Все равно работает только с таблицей Юзер. Я знаю что есть rbac, но зачем мне он когда я хочу просто создать таблицы, выполнить контракты auth указать таблицы и добавить их в компоненты. Почему что еще должно мне в этом мешать.
Для фреймворка у вас должен быть один отдельный класс Identity, реализующий IdentityInterface. И который в findIdentity($id) мог бы искать запись в ваших трёх таблицах как здесь:
www.yiwork.com/wiki/2545/using-multiple-models-in-an-identity
Альтернативный вариант - помимо этих трёх таблиц логины и пароли для аутентификации вынести назад в ту же таблицу user (с ролью или без), а эти subscriber и vipuser подсоединять по тому же id. И в RBAC в Rule по роли или по if (!Subscriber::findOne($userId)) { return false; } проверять доступность экшенов.
Дмитрий, а записей мастер классов по симфони нет случайно?
Есть в elisdn.ru/project-manager
Дмитрий, какую версию ubuntu вы используете?
LTS
@@ElisDN так лтсок несколько же) 18.04? =)
Задумался тут на днях о переходе на ubuntu. Но возник вопрос фотошопа и MS OFFICE. Чтобы более-менее живо работало, не так как в виртуалке virtualbox'а (т.е. нужно участие GPU).
- С wine (через playonlinux) с наскоку не получилось. Может еще потыкаюсь без POL, но все равно костыльно выглядит.
- Если б была еще одна видюха (для проброса) - можно было бы задуматься о виртуалке на qemu.
- Dualboot как-то тоже не возбуждает.
Так что пока выходит, что нужно оставаться на винде + виртуалки с убунтами для докера и прочего.
@@Asiro-S Позавчера обновил на 18.04. Привыкаю.
@@CJIu3eHb За MS Office вменяемо работает LibreOffice и Google Docs. Из дизайна и вёрстки ушёл в программирование, так что Photoshop мне уже не нужен.