
Sergey
14.05.2017
09:51:40
тут есть люди кто активно пользуются паттерном "спецификация"?
интересует как вы джойны хэндлите

Ivan
14.05.2017
17:23:27

Aleh
14.05.2017
17:25:03
вопрос про спецификации, как их организуете

Google

Ivan
14.05.2017
17:30:31
это ж .
public function apply(QueryBuilder $queryBuilder, string $alias)
{
$queryBuilder->andWhere("$alias.stars >= :stars");
$queryBuilder->setParameter('stars', $this->minStars);
}
такое
Popular Writer Spec
и BookWIthPopularAuthor
public function apply(QueryBuilder $queryBuilder, string $alias)
{
$queryBuilder->join("$alias.author", 'author');
$this->popularWriter->apply($queryBuilder, 'author');
}
я не юзаю спецификации, поэтому мне всё просто))

Sergey
14.05.2017
18:37:42

Salavat
15.05.2017
14:23:38
Собственно вопрос по Remember me, если у меня нет формы (type)
Я правильно понимаю, что должна ставиться кука?) Если да - то как это лучше и правильнее сделать

Roman
15.05.2017
14:24:31
так и не нужна форма

Salavat
15.05.2017
14:24:46
В security, прописал блок remember_me, но ругается на You must configure at least one remember-me aware listener (such as form-login) for each firewall that has remember-me enabled.

Roman
15.05.2017
14:24:53
ну, тоесть хтмл-формы в шаблоне достаточно

Salavat
15.05.2017
14:25:03
Ну да, я ее добавил

Google

Roman
15.05.2017
14:25:13
сча посмотрю как у меня

Salavat
15.05.2017
14:25:14
Добавил hidden input _remember_me = 1

Roman
15.05.2017
14:29:16
я так понял, листенер не подхватился
а в секурити.ямл добавляли блок ремембер_ми?
а
:)

Salavat
15.05.2017
14:30:33
Да
Только листенера у меня и нет как такового )
Может я авторизацию неправильно запили

Roman
15.05.2017
14:31:06
ну, у симфони есть свой
может блок ремембер_ми не там где нужно
у меня еще вот такая настройка есть
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
check_path: fos_user_security_check
login_path: fos_user_security_login
use_referer: true
remember_me: true

Salavat
15.05.2017
14:36:20
вот форм_логин похоже правильно описать надо
Спасибо! )

Igor
15.05.2017
15:48:16
Добрый вечер.
Может кто-нибудь подсказать по http://jmsyst.com/libs/serializer ?
Есть 2 формата json и 1 сущность.
Сущность: https://pastebin.com/pXuPYHxW
Форматы: https://pastebin.com/mQfWJXUY
Как правильно нотировать в формате yml что-бы получать одну сущность?
Т.е. мне нужно поддерживать 2 формата json на десериализации.

Алексей
15.05.2017
15:52:22
Самое простое - два DTO и два правила маппинга JSON в них.
А вообще может тебе JMSS и не подходит.

Igor
15.05.2017
16:04:42

Алексей
15.05.2017
16:05:36

Igor
15.05.2017
16:06:02

Google

Алексей
15.05.2017
16:09:22
Возможно, лучше что-то своё написать на Symfony Serializer. Но там, например, из коробки нет десериализации вложенных объектов.

Sergey
15.05.2017
16:14:54

Yuriy
16.05.2017
09:38:54
всем привет,
в чате проскакивала ссылка
https://gist.github.com/fesor/76d39b19b18f7103a7c058301dc6a8fe
для изменени суруктуры папок,
скажите пожалуйста за счет чего можно реализовать такую струкруру?
исправил все неймспейсы но котролер всеравно симфони ищет на старом месте

Valentin
16.05.2017
09:48:37
Кэш сбрасывал?

Yuriy
16.05.2017
10:03:33
да и командой и rm

Sergey
16.05.2017
10:06:34
автолоадер потерялся видимо

Sergio
16.05.2017
10:15:49
всем привет!
вот размышляю на тему имеет ли вообще смысл конструктор делать... т.к полной универсальности, имхо, всёравно не выйдет сделать... а так это просто велосипеденье...
ну, конструктор, типа cms...
сколько разновидностей сайтов на данный момент имеется?
лендинг, каталог, инет-магаз, кастомный

Sergey
16.05.2017
10:18:07
нет смысла
и для чего? на продажу?

Sergio
16.05.2017
10:18:34
имеет смысл тогда отдельно под каждый вид, делать своё приложение и всё?

Sergey
16.05.2017
10:18:36
Я думаю что надо просто понимать что сms делают для людей, которые не умеют программировать или для тех у кого нет каких=либо нетривильных тербований к функционалу.
Если вы хотите облегчить себе работу и при этом вы разработчик, то лучше стремиться в сторону гибкой архитектуры, где можно втыкать и вытыкать модули.

Sergio
16.05.2017
10:18:42

Valentin
16.05.2017
10:18:42
Специализированная система справляется с задачей лучше, чем система общего назначения – это раз
За нас уже всё написали в 99% случаев – это два

Sergio
16.05.2017
10:18:53
там в основном суть в администрировании

Sergey
16.05.2017
10:19:30
и получаем потом монструозные магенты, оро и тд. для которых еще и спец разрабы нужны
а для цмс, форумов и прочего гавна есть и так уже софт

Google

Sergio
16.05.2017
10:20:19
мда... думал найти путь упрощения, но не судьба, видимо)

Sergey
16.05.2017
10:20:20
в симфони даже элементарный user bundle в половине случаев не подходит

Sergio
16.05.2017
10:20:36
++
согласен

Admin
ERROR: S client not available

Sergio
16.05.2017
10:21:21
а вот если имеется некое подобие всётаки цмс, но написано давно...
его имеет смысл перепелить "поудобнее"?
меня какбы этой идеей и заинтриговали в своё время
и вот близится час, когда нужно будет начинать...

Sergey
16.05.2017
10:23:19
чем кастомнее решение, тем тяжелее и дороже его содержать

Sergio
16.05.2017
10:23:29
но, чувствую, что начинать ничего и не прийдётся, с такими темпами..

Valentin
16.05.2017
10:50:33
Есть Sonata и Sylius ведь
Для общих случаев

Sergio
16.05.2017
11:02:19

Evgenii
16.05.2017
15:32:11
Скажите пожалуйста, Доктрина умеет так?
Есть таблицы:
Users
--------
-id
-name
Foo
--------
-id
-name
Bar
--------
-id
-name
JoinTable
--------
-user_id
-foo_id
-bar_id
в User пишу
* @ORM\ManyToMany(targetEntity="ApiBundle\Entity\Foo", inversedBy="users")
* @ORM\JoinTable(name="join_table",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="foo_id", referencedColumnName="id")}
* )
*/
private $foos;
* @ORM\ManyToMany(targetEntity="ApiBundle\Entity\Bar", inversedBy="users")
* @ORM\JoinTable(name="join_table",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="bar_id", referencedColumnName="id")}
* )
*/
private $bars;
Но когда делаю doctrine:schema:update оно пытается два раза создать join_table и ругается.
Как быть?


Dinar
16.05.2017
15:37:26
Че-то ты намудрил. Посмотри примеры
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html

Valentin
16.05.2017
15:37:29
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#many-to-many-bidirectional
Подробно описано, как делать inversedBy / mappedBy при many-to-many

Evgenii
16.05.2017
15:46:04
окей, я упрощу пример))
пусть отношения будут записаны так:
* @ORM\ManyToMany(targetEntity="ApiBundle\Entity\Foo", inversedBy="users")
* @ORM\JoinTable(name="join_table")
*/
private $foos;
* @ORM\ManyToMany(targetEntity="ApiBundle\Entity\Bar", inversedBy="users")
* @ORM\JoinTable(name="join_table")
*/
private $bars;
соответственно в классах Foo и Bar указано mappedBy, как в доках.
Оно все работает, релейшены подтягиваются.
Вопрос, как заставить работать doctrine:schema:update

Google

Alexander
16.05.2017
15:53:34
доктрина так не умеет. тут нужна сущность JoinTable с полями user, foo и bar

Salavat
16.05.2017
18:19:28
А кто-нибудь играл с 4ой версией?

Артур Евгеньевич
16.05.2017
18:29:54

Sergey
16.05.2017
18:30:21

Salavat
16.05.2017
18:30:56
Я ее имел ввиду как раз

Sergey
16.05.2017
18:32:41
угу, в 4.0 фичей особо не будет
депрекейты почистят как обычно, флекс

Sergey
16.05.2017
19:35:21

Yuriy
17.05.2017
08:24:58
Добрый день
хочу создать тип Emun для доктрины
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/mysql-enums.html
не пойму где нужно регистрироват новый тип?
Type::addType('enumvisibility', 'MyProject\DBAL\EnumVisibilityType');

Roman
17.05.2017
08:27:19
в конфиг.ямл кажется

Evgenii
17.05.2017
08:39:33
Нужно добавить тип в конфиг, чтобы доктрина его хавала. про это вопрос?
doctrine:
dbal:
mapping_types:
_int2: integer
_int4: integer
bit: boolean

Ivan
17.05.2017
08:43:10
http://symfony.com/doc/current/doctrine/dbal.html#registering-custom-mapping-types

Yuriy
17.05.2017
08:51:04
да спасибо
сгенерироват CRUD консольной командой (SF3)
// route
paramgroups_show:
path: /{paramGroupId}/show
defaults: { _controller: "TBundle:ParamGroups:show" }
methods: GET
// controller
public function showAction(ParamGroups $paramGroup)
{
$deleteForm = $this->createDeleteForm($paramGroup);
return $this->render('paramgroups/show.html.twig', array(
'paramGroup' => $paramGroup,
'delete_form' => $deleteForm->createView(),
));
}
насколько я помню по мануалам правда для SF2 из роутинге мы передаем переменые по которым находим что нужно выводить
вопрос
где появляется (ParamGroups $paramGroup) которые запрыгивает в контролер ?