• Как хранить настройки регистрации?

    pro-dev
    @pro-dev Автор вопроса
    Это понятно. А в каком виде?
  • Архитектура приложения на vue?

    pro-dev
    @pro-dev Автор вопроса
    davidnum95, это понятно. Но зачем мучаться, когда уже есть опыт других. Имеет смысл уже среди всех хороших практик выбирать. А не сделать как получится и изобрести новый велосипед.

    На вопрос подписываются, значит есть вопросы не только у меня...
  • Правильно ли сделана связь?

    pro-dev
    @pro-dev Автор вопроса
    Тут вопрос в том, будет ли логика в классе, например, Discipline, или инфа по сути справочная, т.к. на текущий момент информация там выглядит не очень связно.
    А что именно там не так?

    Ну, во первых - почему константы торчат наружу(public)?

    Использую константы для выбора значений через Query Builder, поэтому они сделаны публичными.

    А во вторых, что такое Event Discipline из вашего кода ну никак не ясно, как не ясно....

    Event Discipline - это связующая таблица дисциплин с мероприятием. У каждого мероприятия может много дисциплин.
    Дисциплины мероприятия имеют настройки:
    1. Цены: стоимость участия, валюта, калькулятор
    2. Статус (открыта, закрыта) и т.д.

    В регистрации человек выбирает дисциплину мероприятия и по этой дисциплине рассчитывается цена из Event Dance. А название подтягивается из Dicipline

    .. почему эту инфу не поместить в агрегат Discipline

    Потому что Discipline это справочник названий, правил. А Event Discipline это дисциплина конкретного мероприятия со своими настройками:
    1. Цены: стоимость участия, валюта, калькулятор
    2. Статус (открыта, закрыта) и т.д.

    Вот)) Если понятно что сказал....
  • Php DateTimeImmulable как проверить даты в диапазоне?

    pro-dev
    @pro-dev Автор вопроса
    Denis, А вот так заработало)) Голову сломал блин)) Интересно только такой вариант есть?) Я думал может есть в interval что-то связанное)) Ну это ладно. Всё равно спасибо) Чуть позже отмечу решением!
  • Php DateTimeImmulable как проверить даты в диапазоне?

    pro-dev
    @pro-dev Автор вопроса
    Denis,
    $this->expectExceptionMessage('Price already exists.');
            $discipline->addPrice(
                $priceId = PriceId::next(),
                $date = new Date($currentDate, $currentDate->modify('+1 day')),
                $price = 120,
                $currency = 'RUB',
                $calculator = Price::CALCULATOR_TYPE_REGISTRATION
            );


    здесь он проходит тест. Хотя не должен ошибку выдавать. другая дата
  • Php DateTimeImmulable как проверить даты в диапазоне?

    pro-dev
    @pro-dev Автор вопроса
    Denis,
    public function addPrice(PriceId $id, Date $date, int $value, string $currency, string $calculator): void
        {
            foreach ($this->prices as $current) {
                if ($current->getDate()->getStart() >= $date->getStart() && $date->getStart() <= $current->getDate()->getEnd()) {
                    throw new \DomainException('Price already exists.');
                }
                if ($current->getDate()->getStart() >= $date->getEnd() && $date->getEnd() <= $current->getDate()->getEnd()) {
                    throw new \DomainException('Price already exists.');
                }
            }
            $this->prices->add(new Price($this, $id, $date, $value, $currency, $calculator));
        }


    public function testExists(): void
        {
            $currentDate =  new \DateTimeImmutable('+1 day');
    
            $event = (new EventBuilder())->activate()->build();
            $discipline = (new DisciplineBuilder())->build();
            $discipline = Discipline::create($event, new Id($discipline->getId()->getValue()));
    
            $discipline->addPrice(
                $priceId = PriceId::next(),
                $date = new Date($currentDate->modify('+4 day'), $currentDate->modify('+5 day')),
                $price = 100,
                $currency = 'RUB',
                $calculator = Price::CALCULATOR_TYPE_PERSON
            );
    
            $this->expectExceptionMessage('Price already exists.');
            $discipline->addPrice(
                $priceId = PriceId::next(),
                $date = new Date($currentDate, $currentDate->modify('+1 day')),
                $price = 120,
                $currency = 'RUB',
                $calculator = Price::CALCULATOR_TYPE_REGISTRATION
            );
        }
  • Php DateTimeImmulable как проверить даты в диапазоне?

    pro-dev
    @pro-dev Автор вопроса
    2019-11-01 - 2019-11-02
    2019-11-03- 2019-11-05
    2019-11-06 - 2019-11-08

    Добавляем в массив
    2019-11-08 - 2019-11-10

    Должен ругнуться. У меня тесты что-то не проходят.
  • Php DateTimeImmulable как проверить даты в диапазоне?

    pro-dev
    @pro-dev Автор вопроса
    Denis, А если две даты в массиве и две даты добавляются в массив?
  • Php DateTimeImmulable как проверить даты в диапазоне?

    pro-dev
    @pro-dev Автор вопроса
    Нет. Так диапазон дат не проверить. Это можно проверить если обеты и данные в них равны. А входит ли диапазон или нет так не проверить.
  • Как использовать VueJS и Symfony?

    pro-dev
    @pro-dev Автор вопроса
    Максим Федоров, То что нужен API понятно. Я думал, что есть какие-то нюансы с работой в симфони. Например, тут есть полноценный шаблонизатор твиг. Который может быть использован в VUE. Но видимо это были мои догадки)

    Остальное в принципе понял) Просто видел отрывки разного кода, что кто-то vue размещает в assets. Так и не понял почему кто-то его поместил туда, когда это полноценное приложение. Вот и возникли вопросы)
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    BoShurik, заглядывал. Даже пытался там вписать namespace "app", но в итоге получалось @App/base.htm.twig, а вот сейчас посмотреть у вас на скриншоте, что указывать там нужно __main__ и теперь определяет)) Спасибо большое!) Вообще не знал, что так нужно прописывать namespace. Где это написано? Читал не видел.

    Можете ещё подсказать что нужно прописывать тут для вложенной папки manager
    5dba07b0015b7415116053.png
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Владислав Лысков,
    проблема в неймспесах, они изменились :facepalm:

    Скорее всего именно это. А как их изменить?
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Игорь, Twig вообще работает. Но проблема именно в том, что если проект весь переместить в подпапку: symfony/manager, то твиг перестает находить файлы. Если перенести обратно symfony/ то твиг работает прекрасно! Вот не пойму что это такое
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Игорь, да. Конечно. Проблема именно в том, что перемещаю проект в папку manager и все. Твиг перестаёт видеть. А в корне все работает.
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Игорь, не помогло.
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    если переместить обратно в корень - находит. А в manager директории не работает
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Не видит роуты и виды в твиге
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Игорь, с этого начал) два раза делал. Не помогло. Проблема в директории скорее всего
  • Cannot find declaration to go?

    pro-dev
    @pro-dev Автор вопроса
    Максим Федоров, я знаю про эти Настройки. Все уже там потыкал. Может быть я путь не правильно указываю? Какой тут надо путь указать, чтобы в директории manager лежало? Я только только создать новый алиас. И это работало. Но это не то... было @app/base