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

vitovt
2017.04.25, 19:22
Форум: REST API (Yii 2.x)
Тема: Разная авторизация в разных контроллерах API
Ответы: 5
Просмотры: 3550

Разная авторизация в разных контроллерах API

Структура проекта на основе advanced: - api --- modules ------ v1 -------- controllers -------- models ... - backend - common -frontend Задача заключается в следуюещм: Есть API через которое подключается, например, стороннее приложение через Authorization: Bearer c698660e534f97d3dc62cd484d380005 Ска...
vitovt
2017.04.14, 13:38
Форум: REST API (Yii 2.x)
Тема: UrlManager, PrettyUrl, suffix и REST
Ответы: 26
Просмотры: 19792

Re: UrlManager, PrettyUrl, suffix и REST

Сам спросил, сам отвечу, будет вот так

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

'extraPatterns' => [
            'GET search' => 'search',
            'GET {id}/buy'=> 'buy'
        ],
        'tokens' => [
            '{id}' => '<id:\\d+>',
        ]
vitovt
2017.04.14, 12:37
Форум: REST API (Yii 2.x)
Тема: UrlManager, PrettyUrl, suffix и REST
Ответы: 26
Просмотры: 19792

Re: UrlManager, PrettyUrl, suffix и REST

как прописывать роутинги Вручную: 'POST /cars/<id:\d+>/buy' => 'car/buy', Да но куда именно [ 'class' => 'yii\rest\UrlRule', 'controller' => [ 'v1/car', 'pluralize'=>true, ], 'except' => [ 'delete', 'update' ], 'extraPatterns' => [ 'GET search' => 'search', ], 'tokens' => [ ] ], или сразу после или...
vitovt
2017.04.14, 12:15
Форум: REST API (Yii 2.x)
Тема: UrlManager, PrettyUrl, suffix и REST
Ответы: 26
Просмотры: 19792

Re: UrlManager, PrettyUrl, suffix и REST

А давайте я ее подниму еще раз. Не могу понять как прописывать роутинги, например, для такого запроса

POST /cars/{id}/buy
vitovt
2017.04.13, 13:36
Форум: Общие вопросы (Yii 2.x)
Тема: Как лучше и правильнее завалидировать данные в REST
Ответы: 1
Просмотры: 1287

Как лучше и правильнее завалидировать данные в REST

Есть у меня в REST API модуле некий экшн actionCreate() который принимает данные $request = \Yii::$app->getRequest()->getBodyParams(); Но данных приходит сразу много. Предположим, я принимаю данные о машине, вместе с ними приходят и данные о владельце, а также список последних происшествий с ней,к п...
vitovt
2017.04.12, 20:41
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Кое какие тесты все же можно написать. Конечно. Можно писать интеграционные тесты с участием базы, но они долгие и ломкие. Если их начать писать в промышленных масштабах вместо юнит-тестов, то будет ситуация, когда перед выкатыванием в продакшн нужно полсуток ждать, пока эти тесты пройдут, а если н...
vitovt
2017.04.12, 14:19
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Это вопрос свободного времени. В своём кругу бывших коллег я бы выделил два основных типа дальнейшей судьбы. (1) У человека есть запас ресурсов (время и деньги). В этом случае специалист продолжает расти, ищет компании, которые работают со сложными слоёными архитектурами, пробует новые технологии, ...
vitovt
2017.04.12, 14:10
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

люди пропадают из сообщества Yii. На какое-то время. Потом возвращаются. Наигравшись в архитектуру начинаешь понимать, что тот же DDD... да что DDD, Data Mapper — не оптимальное решение для большинства проектов. Оно там просто не надо и излишне. Это вопрос свободного времени. В своём кругу бывших к...
vitovt
2017.04.12, 14:07
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Наигравшись в архитектуру начинаешь понимать Оно там просто не надо и излишне. Вечно это читаю, но так и не понял, какое решение предлагает yii. То что описано в доках отлично подходит под CRUD. Но CRUD это по-сути веб-интерфейс для правки табличек в базе. Типичное же веб-приложение несколько сложн...
vitovt
2017.04.11, 12:02
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Например, как я писал выше, у заказа есть товары, клиент репозиторий Заказы возвращает объект Заказа, который в себе должен \ может содержать информацию только о себе, верно? Значит чтобы получить и заказ и список товаров или хотя бы количество товаров в заказе - нужно второй репозиторий задействов...
vitovt
2017.04.10, 11:24
Форум: Тестирование (Yii 2.x)
Тема: Как правильно использовать Fixture
Ответы: 5
Просмотры: 3393

Re: Как правильно использовать Fixture

По документации так

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

 public $depends = ['yii\test\InitDbFixture'];
vitovt
2017.04.07, 14:53
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Если у вас конструктор контроллера требует больше 3-4 сервисов - ваш контроллер имеет слишком много обязанностей. Надо разделять по разным контроллерам. Ну либо внедрение метода (чего в yii вроде как нет) по экшенам. В вопросе разделения на слои можно дойти до безумства. Смотря на пример который мы...
vitovt
2017.04.07, 10:30
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

public function __construct(OrderRepositoryInterface $repository) { интерфейс-то у нас не меняется, поэтому меняя реализации, у код менять не нужно. А в случае когда надо 2-5 репозиториев, что все загонять в конструктор? Как я писал выше, например, надо в контроллере вывести заказ #5 $this->orderRe...
vitovt
2017.04.07, 09:42
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Как я писал выше кто-то сразу в контроллере лезет в репозиторий class SiteController extends Controller { public function __construct(OrderRepository $repository) { $this->repository = $repository; } } но тогда в случае смены репозитория надо везде во всех контроллерах менять код, а так только в од...
vitovt
2017.04.07, 09:23
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

В статье нет прям такого примера. Репозиторий сохраняет объекты по определению. Иначе он не репозиторий вообще. На каком-то форуме услышал мнение, что репозиторий - это только отображение коллекции. Тогда вообще стало не понятно, а где же сохранять сущность свою. Но здесь мнение о том что репозитор...
vitovt
2017.04.07, 09:21
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Но для стандартных вещей, конечно легко - \Yii::$app->order->findOne(123); Если order - это у вас сервис, непонятно почему вы его используете как yii компонент. В статье ни о чем таком не говорилось. Так можно сказать сложилось исторически, приходится с этим работать да и потом, работая с Yii пока ...
vitovt
2017.04.07, 07:29
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Я думаю, сложно начать применять слоистую архитектуру, по крайней мере для меня, становится тот факт, что работая с Yii очень легко поддаться на удобство, когда ты в контроллере делаешь что-то вроде $dataProvider = (new OrderSearch())->search($params); и реализуешь в методе search() стандартный data...
vitovt
2017.04.07, 00:00
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Вот кстати любопытная ссылка попалась чтобы понимать как проектировать тот или иной слой http://stackoverflow.com/questions/16176990/proper-repository-pattern-design-in-php Но в этом примере контроллер работает сразу через репозиторий, что, как я понимаю, не всегда удобно? Или так можно было? =) Тог...
vitovt
2017.04.06, 10:45
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Про смену хранилища лучше не думайте - это бывает крайне редко и все равно требует огромного рефакторинга из-за рассогласования нагрузки. Транзакции надо стартовать и коммитить с помощью отдельного сервиса (TransactionManager. какой-нибудь), потому что могут быть транзации на несколько репозиториев...
vitovt
2017.04.06, 10:26
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42928

Re: Слоистая архитектура для Yii приложений

Репозиторий может дернуть $model->getId(), а сервис не должен ничего дергать у AR модели. Транзакции должны быть на уровне сервиса, так как это тоже часть "логики" (откатить в случаи неудачи на каком-то этапе). Но опять таки - сервис не начинает их сам и не заканчивает, а делает это через...