Найден 351 результат

R3D3
2016.04.10, 14:57
Форум: Общие вопросы (Yii 2.x)
Тема: Версионирование сущностей в базе.
Ответы: 6
Просмотры: 1561

Re: Версионирование сущностей в базе.

В чем проблема? Создавайте поведение, на beforeUpdate или куда там вам нужно, вешайте расширение и пишите в отдельную таблицу данные, что вам нужно, ну и разницу от предыдущей версии. Все сводится к тому, чтобы вам создать бихейвер и прицепить расширение. Если чуть подумать в сторону написания тако...
R3D3
2016.04.07, 01:26
Форум: Общие вопросы (Yii 2.x)
Тема: Создание своего composer проекта.
Ответы: 31
Просмотры: 6846

Re: Создание своего composer проекта.

ishpanec писал(а):Попробовал, он требует /packages.json

Кто он? И где требует?
R3D3
2016.04.06, 16:41
Форум: Общие вопросы (Yii 2.x)
Тема: Версионирование сущностей в базе.
Ответы: 6
Просмотры: 1561

Re: Версионирование сущностей в базе.

vitalik1183 писал(а):Я вот это использую
Спасибо, это частично решает задачу.

Но нужен еще код, который бы сам без ручного вмешательства перед редактированием/удалением сущности создавал бы копию в отдельной таблице версий, добавлял дату модификации и т.д.
R3D3
2016.04.06, 02:02
Форум: Общие вопросы (Yii 2.x)
Тема: Версионирование сущностей в базе.
Ответы: 6
Просмотры: 1561

Версионирование сущностей в базе.

Потребовалось хранить несколько версий одной и той же записи(документа) в базе. Чтобы была возможность просмотреть историю правок, откатиться к предыдущей версии и т.п. Самое очевидное - сделать behavior, который цепляется к модели и реализует все это. Есть ли уже готовые пакеты? В гугле не нашел, х...
R3D3
2016.04.06, 01:56
Форум: Общие вопросы (Yii 2.x)
Тема: Создание своего composer проекта.
Ответы: 31
Просмотры: 6846

Re: Создание своего composer проекта.

Если вам нужно сделать публичный открытый проект, то: 1. Создаете публичный репозиторий на bitbucket. Туда комитите код вашего проекта. 2. Там же пишите нужный вам composer.json файл со всеми зависимостями и т.д. Указываете имя проекта, например myvendor/myproject 3. Идете на packagist.org, там реги...
R3D3
2016.04.02, 19:19
Форум: Общие вопросы (Yii 2.x)
Тема: Все ссылки на сайте первого уровня
Ответы: 6
Просмотры: 1645

Re: Все ссылки на сайте первого уровня

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

'rules' => [                
                'product_<name:\w+>' => 'catalogue/product',
              ]
Как-то так нужно.
R3D3
2016.04.02, 19:18
Форум: Общие вопросы (Yii 2.x)
Тема: Все ссылки на сайте первого уровня
Ответы: 6
Просмотры: 1645

Re: Все ссылки на сайте первого уровня

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

/blablabla
Как по вашему, под какое правило из указанных подходит такая ссылка? Она подходит под все правила кроме четвертого, поэтому роутер и берет первое попавшееся вхождение.
R3D3
2016.03.04, 00:05
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

zelenin писал(а): собственно щас вопрос опять скатится к обсуждению нужно ли думать об архитектуре, если я делаю приложения на yii.
Иногда отказаться от нагромождения классов-сущностей и посредников, и написать вместо этого простой хелпер - как раз и означает подумать об архитектуре.
R3D3
2016.03.03, 23:47
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

В идеальном или в реальном? в реальном + класс CityAssembler + класс CityRepo + класс UserCollectionAssembler + класс UserRepo + класс PermissionCollectionAssembler + класс PermissionRepo + классы DTO + в каждом ассемблере прописана логика про наполнению Dto объекта + в экшене получение репозиторие...
R3D3
2016.03.03, 20:25
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

Я себе это представляю как-то так в реальном коде: public function actionNowayDto() {     $city = City::findOne(123);     $cityDto = new DtoCity($city);          $models = User::findAll();     $modelsDto = [];     foreach ($models as $model) {         $modelsDto[$model->id] = new DTO($model);     } ...
R3D3
2016.03.03, 19:59
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

Но все это лирика, причем тут вообще все эти разговоры про использование ресурсов сервера? Мы говорим о другом - об удобстве разработки, поддержки, восприятии кода программистом. действительно. тогда почему вам неудобно оперировать одним объектом с четко описанными полями, а не массивом с нечеткой ...
R3D3
2016.03.03, 19:41
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

память потратится и освободится. во многих случаях нам не нужно единоразово занимать всю память. занять 100 мб единомоментно и потратить 100мб за какое-то время не поднимаясь выше условно 5мб - сильно разные вещи. Этот тест который написан выше - он не имеет отношения к реальному миру. Никто не буд...
R3D3
2016.03.03, 19:27
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

а теперь вот такой тест:     public function actionDto()     {         $start = memory_get_usage(true);         $models = [];         $a = [];         for($i = 0; $i < 100000;$i++) {             $model = Users::model()->findByPk(1000);             /** #1 1540 */ //            $models[] = $model; //...
R3D3
2016.03.03, 19:25
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

у вас явно какой-то оверхед образовался) массив из POPO (http://www.javaleaks.org/open-source/php/plain-old-php-object.html) - нет ничего проще. Как обращаться к ним во вьюшке? $dtoObjects[$model->id]->getFormattedDate()  Это разве удобнее использовать, чем вызов хелпера? чегось? обращаться так же ...
R3D3
2016.03.03, 18:13
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

Вы часто 1000 моделей во вьюшку передаете? А если передаете, то проблема-то будет не в ДТО. Речь не об оверхеде при использовании памяти, а об оверхеде в мозге программиста. Если рядом с 1000 моделями создавать 1000 DTO, то как их передавать? Где хранить? Создавать массив из ID модели и соответству...
R3D3
2016.03.03, 16:26
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

Ну форматирование вывода в модели точно не должно происходить, с этим вроде все согласны. А вот при выборе между статическим классом-хелпером и DTO, обладающим состоянием, я выберу скорее статический класс-хелпер. Потому что, например, если надо отформатировать дату у 1000 моделей, то что, на каждую...
R3D3
2016.03.03, 16:06
Форум: Архив
Тема: Cобытие Model::EVENT_ON_LOAD
Ответы: 67
Просмотры: 15996

Re: Cобытие Model::EVENT_ON_LOAD

адаптер со скалярами, не обладающий собственным поведением, Это и есть по определению хелпер, разве нет? UPD. Хотя нет, хелпер не принимает инстанс модели в конструктор, таким образом он более универсальный. С помощью одного метода форматирования даты можно выводить дату абсолютно любой модели, а н...
R3D3
2016.02.03, 18:59
Форум: Общие вопросы (Yii 2.x)
Тема: Создать вторую базу sqlite
Ответы: 8
Просмотры: 3668

Re: Создать вторую базу sqlite

Дам комментарий немного не по сути вопроса. На мой взгляд, некорректно гонять тесты на sqlite базе, а production на mysql. Поведение разных движков БД в одинаковых условиях могут различаться, таким образом, нельзя надеяться, что тесты протестировали именно production поведение.
R3D3
2015.12.24, 02:25
Форум: Общие вопросы (Yii 2.x)
Тема: Render на сторонней php
Ответы: 20
Просмотры: 8122

Re: Render на сторонней php

Как писать "другую точку входа" для своих контроллеров?
Я же привел примеры в посте выше, даже почти готовые конфиги веб-сервера выложил... :cry: