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

nepster
2015.08.27, 11:21
Форум: Общие вопросы (Yii 2.x)
Тема: Как правильно сделать вложенную жадную загрузку?
Ответы: 9
Просмотры: 1720

Re: Как правильно сделать вложенную жадную загрузку?

ну если вы укажите joinWith() то да, yii красиво все порешает.
nepster
2015.08.27, 09:54
Форум: Общие вопросы (Yii 2.x)
Тема: Как правильно сделать вложенную жадную загрузку?
Ответы: 9
Просмотры: 1720

Re: Как правильно сделать вложенную жадную загрузку?

Благодарю работает:) Получается максимальная вложенность 2? Мы не сможем получить например author->profile->book например? Да не можно бесконечно применять калбэк. По поводу сокращения запросов там юи все четко разруливает, не факт что ваш 1 запрос будет быстрее чем 5, которые построит yii. Там он ...
nepster
2015.08.27, 08:48
Форум: Общие вопросы (Yii 2.x)
Тема: Как правильно сделать вложенную жадную загрузку?
Ответы: 9
Просмотры: 1720

Re: Как правильно сделать вложенную жадную загрузку?

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

$post = Post::find()->with(['author' => function($query) {
    $query->andWhere(...);
    $query->with(...);
    ...
}])->all(); 
nepster
2015.08.23, 17:36
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Честно говоря я не нашел для себя возможность где можно использовать DI, кроме как перекрывать конфигурация различных виджетов и компонентов. ну вот например ты пишешь какой-то фильтр (в кач-ве стороннего расширения), который вытаскивает определенную запись твоей модели из БД с помощью репозитория....
nepster
2015.08.23, 17:35
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Если у нас 100% будет только одна реализация, особо не за чем. Если вероятна ситуация, когда потребуется заменить компонент на другой с таким же интерфейсом — есть смысл. Главный минус абстракции не в производительности (хоть и не без этого), а в том, что код становится более «расплывчатым». Понима...
nepster
2015.08.23, 16:54
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

DI в Yii это тот же DI, что и везде: https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/concept-di-container.md На практике используется как написано в статье: namespace app\controllers; use yii\web\Controller; use app\components\PostRepository; class PostController extends Controller {     ...
nepster
2015.08.23, 15:06
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

1) Не всё то дубли, что похоже на дубли. Если там реально отличающиеся модели, делаем разные. Если нет — одну в common. 2) Делайте как удобней. В этом случае геттер в модели логичнее. 3) Если вы про методы аля scope, то в Query-классе. Это в документации расписано. Если есть желание и необходимость...
nepster
2015.08.22, 12:15
Форум: Общие вопросы (Yii 2.x)
Тема: Крик души
Ответы: 39
Просмотры: 5992

Re: Крик души

Здравствуйте, друзья! Скажу прямо я новичек, но это не повод меня переубеждать. Дело в том, что читая форум я нашел несколько тем с теми вопросами которые мне мешают жить и везде были одни и те же ответы от которых хотелось биться головой о стену. Попробую в очередной раз попытать счастья и надеюсь...
nepster
2015.08.21, 13:35
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Так весь смысл в том, что сколько бы не было методологий, всеравно их соблюдают в 99% только в библиотеках и расширениях. Я не видел еще ни одно проекта с супер чистым кодом, но было бы здорово сделать именно для yii2, какой-то задокументированный подход, чтобы дышать слало легче. По поводу старого ...
nepster
2015.08.21, 12:15
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Ну поведения, тоже зло =) Насчет логирования действий админа. Я делал примерно вот так: модель генерит событие "Я поменялась" в backend-приложении есть листенер, который это событие слушает и делает логирование изменений. На frontend приложении такого листинера нет. Адрес это что? Url ? Модель вооб...
nepster
2015.08.21, 12:14
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Вообще, имхо, делить модели (читай entity) на backend и frontend - это зло. Сущность она одна и не имеет значения в админке она или на фронте. Вот например тут все подряд есть и логика и выборки и он инклюзив: https://github.com/yupe/yupe/blob/master/protected/modules/comment/models/Comment.php А е...
nepster
2015.08.21, 12:09
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Вообще, имхо, делить модели (читай entity) на backend и frontend - это зло. Сущность она одна и не имеет значения в админке она или на фронте. А я если разная логика ? Например для админки нужно все тоже самое + прикрутить поведение, которое делает записи "что там натворил админ"? Или адрес для фро...
nepster
2015.08.21, 11:56
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Да ну причем тут папка ? Как это дело вызывать, ну например я сделал в вешепоказанном примере класс-репозиторий для выборок, положил туда выборки, и в моделе сделал на него геттер. Тебе вроде тоже не понравилось. Я щас заканчию проект, там после полу года разработки достаточно жирные модели получили...
nepster
2015.08.21, 11:40
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

nepster Выдавайте интересующие вас вопросы. Только менее абстрактные и масштабные. Не «как мне структурировать мой доменный слой» или «как не погрязнуть в говнокоде», а «куда положить вот этот код» или «вот это делать в модели, вию или контроллере?». Отвечу и закину в гайд в виде примечаний. Если п...
nepster
2015.08.19, 11:46
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Тоесть фактически мы приходим к тому, что: Кому как удобно тот так и делает? а так и есть везде. нигде нет какой-то навязанной структуры. ну мы же оба понимаем во что это в результате выливается. Сколько разработчиков пишут тесты ? 1%, может быть 5% ? Сколько разработчиков поддерживают принцип "и т...
nepster
2015.08.19, 11:39
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Тоесть фактически мы приходим к тому, что: Кому как удобно тот так и делает?
nepster
2015.08.18, 15:25
Форум: Общие вопросы (Yii 2.x)
Тема: [Решено] Почему валится тест проверки формы ?
Ответы: 1
Просмотры: 513

Re: Почему валится тест проверки формы ?

Все оказалось просто. Обязательно нужно заполнить select, если он есть. $I->fillField('ProjectForm[name]', 'Новый проект'); $I->fillField('ProjectForm[description]', 'Описание'); $I->selectOption('ProjectForm[status]','Открыт'); $I->click('Сохранить'); if (method_exists($I, 'wait')) {     $I->wait(3...
nepster
2015.08.18, 15:20
Форум: Общие вопросы (Yii 2.x)
Тема: [Решено] Почему валится тест проверки формы ?
Ответы: 1
Просмотры: 513

[Решено] Почему валится тест проверки формы ?

Барыжу тестами по не многу и столкнулся с небольшой трудностью: Есть форма: <?php $form = ActiveForm::begin(['id' => 'form-project']); ?>     <?= $form->field($model, 'name') ?>     <?= $form->field($model, 'description')->textarea() ?>     <?= $form->field($model, 'status')->dropDownList($model->ge...
nepster
2015.08.18, 14:02
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Вы наверно не совсем понимаете что я пытаюсь сделать. Я не пытаюсь лепить велосипед или делать симфони, я просто пытаюсь взять yii2 и выработать удобный подход к разработке. Какие есть проблемы на сегодняшний день: 1) В лучшем случае все лепят код в одну модель. В результате чего получается 1 модель...
nepster
2015.08.17, 23:34
Форум: Архитектура, дизайн, ООП
Тема: Разделение приложения на слои
Ответы: 196
Просмотры: 55851

Re: Разделение приложения на слои

Почитайте основы ДДД, вам много станет понятно.
Читал, мне пока туда рановато. Я застрял на TDD и BDD. Уже как освою полностью тестирование, будем двигаться в DDD.