Найдено 87 результатов
- 2016.06.07, 22:05
- Форум: Общие вопросы (Yii 2.x)
- Тема: Подскажите как добавлять автоматически дату создания и обновления в yii2
- Ответы: 1
- Просмотры: 1256
- 2016.06.07, 18:08
- Форум: REST API (Yii 2.x)
- Тема: Как запретить выполнение OPTIONST request?
- Ответы: 3
- Просмотры: 4354
- 2016.06.04, 12:14
- Форум: Общие вопросы (Yii 2.x)
- Тема: Валидация с условием сравнение дат
- Ответы: 10
- Просмотры: 3516
Re: Валидация с условием сравнение дат
http://www.yiiframework.com/doc-2.0/gui ... validatorsБратуха писал(а):Выводит ошибку Call to a member function addError() on a non-object
- 2016.06.02, 16:13
- Форум: Общие вопросы (Yii 2.x)
- Тема: DI container и Widget
- Ответы: 5
- Просмотры: 1776
Re: DI container и Widget
Да, так сработало, спасибоNerf писал(а):$config=[] должен быть последним параметром конструктора.
- 2016.06.02, 16:10
- Форум: Общие вопросы (Yii 2.x)
- Тема: DI container и Widget
- Ответы: 5
- Просмотры: 1776
Re: DI container и Widget
Лишние движения, когда за тебя это может сделать DIgodzie писал(а):А чем плохо передать зависимость в $config? Стоит посмотреть в метод widget чтобы понять что 2й параметр уходит в никуда.
- 2016.06.02, 15:34
- Форум: Общие вопросы (Yii 2.x)
- Тема: DI container и Widget
- Ответы: 5
- Просмотры: 1776
Re: DI container и Widget
Попробую, но в контроллерах так работает, т.е $config не обязательно долже быть послденимNerf писал(а):$config=[] должен быть последним параметром конструктора.
Код: Выделить всё
public function __construct(
$id,
$module,
array $config = [],
NotifyInterface $notify
)
- 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')); Нельзя использовать функции как значение ...
- 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 почему то передаётся м...
- 2016.05.25, 15:06
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
На сколько мне известно, из БД нельзя получить следующий Id, id известен только после вставки записи.
Да и как писал в личке, если сущности будут сохранятся не в БД, а где то через API, то следующий ID будет проблемно узнать.
Да и как писал в личке, если сущности будут сохранятся не в БД, а где то через API, то следующий ID будет проблемно узнать.
- 2016.05.25, 14:55
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
Т.е. создавать новую сущность черезzelenin писал(а): Опять же вы не сможете создать сущность, не сгенерировав id в приложении (мы общались об этом в личке).
Код: Выделить всё
new User()
- 2016.05.25, 12:18
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
Т.е. альтернатив никаких нет? Придётся свой велосипед делать?)zelenin писал(а):я бы не стал - слишком тяжела.Melodic писал(а):Что бы не городить свой велосипед, стоит использовать Доктрину?zelenin писал(а): array_diff типа. Доктрина из коробки это делает.
И что бы сделать array_diff, нужно будет ещё раз загрузить Order?
- 2016.05.25, 12:10
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
Есть Order, в нём есть Product[] $products. Есть метод Order::removeProduct(Product $product), который просто удаляет определёный продукт из массива $products. Как репозиторий узнает, что нужно отвязать удалёный продукт в БД? array_diff типа. Доктрина из коробки это делает. Что бы не городить свой ...
- 2016.05.25, 12:06
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
Есть Order, в нём есть Product[] $products. Есть метод Order::removeProduct(Product $product), который просто удаляет определёный продукт из массива $products. Как репозиторий узнает, что нужно отвязать удалёный продукт в БД?
- 2016.05.24, 23:53
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
Ой, не внимательно прочитал название метода.ElisDN писал(а):Наоборот. Один или несколько id категорий, в которых этот товар.Melodic писал(а):Что происходит в методе $product->assignToCategory($category->getId())? Там все id товаров, которые принадлежат категории?
- 2016.05.24, 23:34
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
Post не есть агрегат без тегов. Если Tag - это VO, то его место в агрегате Post с записью по $post->addTag($tagName) и получением через $post->getTags(). Если Tag - это сущность (как Category), то он полноценный объект с getId() и получением через $tagRepository->getAllByPostId($post->getId()); Мы ...
- 2016.05.18, 14:09
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
В чём проблема не использовать final? слоеная архитектура подразумевает независимые слои. Не использовать final, означает протекание одного слоя в другой. Нужно найти решение, которое позволит во всех кейсах сделать рабочий lazy. Мои сущности - финальны. Я их помечаю final. То, что другой слой реша...
- 2016.05.18, 13:44
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
тогда я бы посоветовал развязать все это: private function toEntity(array $columns) { return $this->userHydrator->hydrate($columns); } связанные сущности лучше получать не через другое репо, а тут же - мотивация: другое репо заточено под другой aggregate root и может сразу заполнять сущность св...
- 2016.05.18, 13:30
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
тогда я бы посоветовал развязать все это: private function toEntity(array $columns) { return $this->userHydrator->hydrate($columns); } связанные сущности лучше получать не через другое репо, а тут же - мотивация: другое репо заточено под другой aggregate root и может сразу заполнять сущность св...
- 2016.05.18, 12:59
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
это ок. в ddd есть понятие bounded context (сущность со всеми связями) - репозиторий создается именно для bounded context. Как будет правильно сделать? Передавать CityRepositoryInterface ( у которого есть метод ::load($array) который возвращает модель) в UserRepository и с помощью CityRepositoryInt...
- 2016.05.18, 12:42
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90118
Re: Сервисный слой, как правильно?
С репозиториями не много не понятно. По вашему совету, все методы для сохранения\добавления\обновления БД я вынес в репозиторий UserRepository. У модели User есть поле $city, которое содержит модель City. В репозитории UserRepository есть метод findById($id), который ищет пользователя по Id и запол...