Найдено 87 результатов

Melodic
2016.06.04, 12:14
Форум: Общие вопросы (Yii 2.x)
Тема: Валидация с условием сравнение дат
Ответы: 10
Просмотры: 3516

Re: Валидация с условием сравнение дат

Братуха писал(а):Выводит ошибку Call to a member function addError() on a non-object
http://www.yiiframework.com/doc-2.0/gui ... validators
Melodic
2016.06.02, 16:13
Форум: Общие вопросы (Yii 2.x)
Тема: DI container и Widget
Ответы: 5
Просмотры: 1776

Re: DI container и Widget

Nerf писал(а):$config=[] должен быть последним параметром конструктора.
Да, так сработало, спасибо
Melodic
2016.06.02, 16:10
Форум: Общие вопросы (Yii 2.x)
Тема: DI container и Widget
Ответы: 5
Просмотры: 1776

Re: DI container и Widget

godzie писал(а):А чем плохо передать зависимость в $config? Стоит посмотреть в метод widget чтобы понять что 2й параметр уходит в никуда.
Лишние движения, когда за тебя это может сделать DI :)
Melodic
2016.06.02, 15:34
Форум: Общие вопросы (Yii 2.x)
Тема: DI container и Widget
Ответы: 5
Просмотры: 1776

Re: DI container и Widget

Nerf писал(а):$config=[] должен быть последним параметром конструктора.
Попробую, но в контроллерах так работает, т.е $config не обязательно долже быть послденим

Код: Выделить всё

    public function __construct(
        $id,
        $module,
        array $config = [],
        NotifyInterface $notify
    )
Melodic
2016.06.02, 15:11
Форум: Общие вопросы (Yii 2.x)
Тема: почему нельзя обявить переменную вида $maxDate = date('d/m/Y', strtotime('-6 years'));
Ответы: 7
Просмотры: 2399

Re: почему нельзя обявить переменную вида $maxDate = date('d/m/Y', strtotime('-6 years'));

При чем тут Yii, и уверены, что именно в этом куске кода ошибка? Просто сижу только на вашем форуме  in C:\OpenServer\domains\new.ru\common\models\ResumePersonal.php at line 30 ...... 30                public $maxDate = date('d/m/Y', strtotime('-6 years')); Нельзя использовать функции как значение ...
Melodic
2016.06.02, 15:09
Форум: Общие вопросы (Yii 2.x)
Тема: DI container и Widget
Ответы: 5
Просмотры: 1776

DI container и Widget

Возможно как то указать в конструкторе виджета зависимость через DI? public function __countruct(array $config=[], ServiceInterface $service){ // Конструктор виджета     parent::__construct($config);     $this->service = $service; }   Такой вариант не работает, т.к. в $service почему то передаётся м...
Melodic
2016.05.25, 15:06
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

На сколько мне известно, из БД нельзя получить следующий Id, id известен только после вставки записи.

Да и как писал в личке, если сущности будут сохранятся не в БД, а где то через API, то следующий ID будет проблемно узнать.
Melodic
2016.05.25, 14:55
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

zelenin писал(а): Опять же вы не сможете создать сущность, не сгенерировав id в приложении (мы общались об этом в личке).
Т.е. создавать новую сущность через

Код: Выделить всё

new User() 
не правильно? В конструктор должен сразу id передаваться?
Melodic
2016.05.25, 12:18
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

zelenin писал(а):
Melodic писал(а):
zelenin писал(а): array_diff типа. Доктрина из коробки это делает.
Что бы не городить свой велосипед, стоит использовать Доктрину?
я бы не стал - слишком тяжела.
Т.е. альтернатив никаких нет? Придётся свой велосипед делать?)

И что бы сделать array_diff, нужно будет ещё раз загрузить Order?
Melodic
2016.05.25, 12:10
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

Есть Order, в нём есть Product[] $products. Есть метод Order::removeProduct(Product $product), который просто удаляет определёный продукт из массива $products. Как репозиторий узнает, что нужно отвязать удалёный продукт в БД? array_diff типа. Доктрина из коробки это делает. Что бы не городить свой ...
Melodic
2016.05.25, 12:06
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

Есть Order, в нём есть Product[] $products. Есть метод Order::removeProduct(Product $product), который просто удаляет определёный продукт из массива $products. Как репозиторий узнает, что нужно отвязать удалёный продукт в БД?
Melodic
2016.05.24, 23:53
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

ElisDN писал(а):
Melodic писал(а):Что происходит в методе $product->assignToCategory($category->getId())? Там все id товаров, которые принадлежат категории?
Наоборот. Один или несколько id категорий, в которых этот товар.
Ой, не внимательно прочитал название метода.
Melodic
2016.05.24, 23:34
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

Post не есть агрегат без тегов. Если Tag - это VO, то его место в агрегате Post с записью по $post->addTag($tagName) и получением через $post->getTags(). Если Tag - это сущность (как Category), то он полноценный объект с getId() и получением через $tagRepository->getAllByPostId($post->getId()); Мы ...
Melodic
2016.05.18, 14:09
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

В чём проблема не использовать final? слоеная архитектура подразумевает независимые слои. Не использовать final, означает протекание одного слоя в другой. Нужно найти решение, которое позволит во всех кейсах сделать рабочий lazy. Мои сущности - финальны. Я их помечаю final. То, что другой слой реша...
Melodic
2016.05.18, 13:44
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

тогда я бы посоветовал развязать все это: private function toEntity(array $columns) {     return $this->userHydrator->hydrate($columns); } связанные сущности лучше получать не через другое репо, а тут же - мотивация: другое репо заточено под другой aggregate root и может сразу заполнять сущность св...
Melodic
2016.05.18, 13:30
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

тогда я бы посоветовал развязать все это: private function toEntity(array $columns) {     return $this->userHydrator->hydrate($columns); } связанные сущности лучше получать не через другое репо, а тут же - мотивация: другое репо заточено под другой aggregate root и может сразу заполнять сущность св...
Melodic
2016.05.18, 12:59
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

это ок. в ddd есть понятие bounded context (сущность со всеми связями) - репозиторий создается именно для bounded context. Как будет правильно сделать? Передавать CityRepositoryInterface ( у которого есть метод ::load($array) который возвращает модель) в UserRepository и с помощью CityRepositoryInt...
Melodic
2016.05.18, 12:42
Форум: Архитектура, дизайн, ООП
Тема: Сервисный слой, как правильно?
Ответы: 208
Просмотры: 90118

Re: Сервисный слой, как правильно?

С репозиториями не много не понятно. По вашему совету, все методы для сохранения\добавления\обновления БД я вынес в репозиторий UserRepository. У модели User есть поле $city, которое содержит модель City. В репозитории UserRepository есть метод findById($id), который ищет пользователя по Id и запол...