Найдено 837 результатов
- 2015.08.27, 11:21
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как правильно сделать вложенную жадную загрузку?
- Ответы: 9
- Просмотры: 2252
Re: Как правильно сделать вложенную жадную загрузку?
ну если вы укажите joinWith() то да, yii красиво все порешает.
- 2015.08.27, 09:54
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как правильно сделать вложенную жадную загрузку?
- Ответы: 9
- Просмотры: 2252
Re: Как правильно сделать вложенную жадную загрузку?
Благодарю работает:) Получается максимальная вложенность 2? Мы не сможем получить например author->profile->book например? Да не можно бесконечно применять калбэк. По поводу сокращения запросов там юи все четко разруливает, не факт что ваш 1 запрос будет быстрее чем 5, которые построит yii. Там он ...
- 2015.08.27, 08:48
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как правильно сделать вложенную жадную загрузку?
- Ответы: 9
- Просмотры: 2252
Re: Как правильно сделать вложенную жадную загрузку?
Код: Выделить всё
$post = Post::find()->with(['author' => function($query) {
$query->andWhere(...);
$query->with(...);
...
}])->all();
- 2015.08.23, 17:36
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Честно говоря я не нашел для себя возможность где можно использовать DI, кроме как перекрывать конфигурация различных виджетов и компонентов. ну вот например ты пишешь какой-то фильтр (в кач-ве стороннего расширения), который вытаскивает определенную запись твоей модели из БД с помощью репозитория....
- 2015.08.23, 17:35
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Если у нас 100% будет только одна реализация, особо не за чем. Если вероятна ситуация, когда потребуется заменить компонент на другой с таким же интерфейсом — есть смысл. Главный минус абстракции не в производительности (хоть и не без этого), а в том, что код становится более «расплывчатым». Понима...
- 2015.08.23, 16:54
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
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 { ...
- 2015.08.23, 15:06
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
1) Не всё то дубли, что похоже на дубли. Если там реально отличающиеся модели, делаем разные. Если нет — одну в common. 2) Делайте как удобней. В этом случае геттер в модели логичнее. 3) Если вы про методы аля scope, то в Query-классе. Это в документации расписано. Если есть желание и необходимость...
- 2015.08.22, 12:15
- Форум: Общие вопросы (Yii 2.x)
- Тема: Крик души
- Ответы: 39
- Просмотры: 7728
Re: Крик души
Здравствуйте, друзья! Скажу прямо я новичек, но это не повод меня переубеждать. Дело в том, что читая форум я нашел несколько тем с теми вопросами которые мне мешают жить и везде были одни и те же ответы от которых хотелось биться головой о стену. Попробую в очередной раз попытать счастья и надеюсь...
- 2015.08.21, 13:35
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Так весь смысл в том, что сколько бы не было методологий, всеравно их соблюдают в 99% только в библиотеках и расширениях. Я не видел еще ни одно проекта с супер чистым кодом, но было бы здорово сделать именно для yii2, какой-то задокументированный подход, чтобы дышать слало легче. По поводу старого ...
- 2015.08.21, 12:15
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Ну поведения, тоже зло =) Насчет логирования действий админа. Я делал примерно вот так: модель генерит событие "Я поменялась" в backend-приложении есть листенер, который это событие слушает и делает логирование изменений. На frontend приложении такого листинера нет. Адрес это что? Url ? М...
- 2015.08.21, 12:14
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Вообще, имхо, делить модели (читай entity) на backend и frontend - это зло. Сущность она одна и не имеет значения в админке она или на фронте. Вот например тут все подряд есть и логика и выборки и он инклюзив: https://github.com/yupe/yupe/blob/master/protected/modules/comment/models/Comment.php А е...
- 2015.08.21, 12:09
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Вообще, имхо, делить модели (читай entity) на backend и frontend - это зло. Сущность она одна и не имеет значения в админке она или на фронте. А я если разная логика ? Например для админки нужно все тоже самое + прикрутить поведение, которое делает записи "что там натворил админ"? Или адр...
- 2015.08.21, 11:56
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Да ну причем тут папка ? Как это дело вызывать, ну например я сделал в вешепоказанном примере класс-репозиторий для выборок, положил туда выборки, и в моделе сделал на него геттер. Тебе вроде тоже не понравилось. Я щас заканчию проект, там после полу года разработки достаточно жирные модели получили...
- 2015.08.21, 11:40
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
nepster Выдавайте интересующие вас вопросы. Только менее абстрактные и масштабные. Не «как мне структурировать мой доменный слой» или «как не погрязнуть в говнокоде», а «куда положить вот этот код» или «вот это делать в модели, вию или контроллере?». Отвечу и закину в гайд в виде примечаний. Если п...
- 2015.08.19, 11:46
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Тоесть фактически мы приходим к тому, что: Кому как удобно тот так и делает? а так и есть везде. нигде нет какой-то навязанной структуры. ну мы же оба понимаем во что это в результате выливается. Сколько разработчиков пишут тесты ? 1%, может быть 5% ? Сколько разработчиков поддерживают принцип &quo...
- 2015.08.19, 11:39
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Тоесть фактически мы приходим к тому, что: Кому как удобно тот так и делает?
- 2015.08.18, 15:25
- Форум: Общие вопросы (Yii 2.x)
- Тема: [Решено] Почему валится тест проверки формы ?
- Ответы: 1
- Просмотры: 654
Re: Почему валится тест проверки формы ?
Все оказалось просто. Обязательно нужно заполнить select, если он есть. $I->fillField('ProjectForm[name]', 'Новый проект'); $I->fillField('ProjectForm[description]', 'Описание'); $I->selectOption('ProjectForm[status]','Открыт'); $I->click('Сохранить'); if (method_exists($I, 'wait')) { $I->wait(3...
- 2015.08.18, 15:20
- Форум: Общие вопросы (Yii 2.x)
- Тема: [Решено] Почему валится тест проверки формы ?
- Ответы: 1
- Просмотры: 654
[Решено] Почему валится тест проверки формы ?
Барыжу тестами по не многу и столкнулся с небольшой трудностью: Есть форма: <?php $form = ActiveForm::begin(['id' => 'form-project']); ?> <?= $form->field($model, 'name') ?> <?= $form->field($model, 'description')->textarea() ?> <?= $form->field($model, 'status')->dropDownList($model->ge...
- 2015.08.18, 14:02
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Вы наверно не совсем понимаете что я пытаюсь сделать. Я не пытаюсь лепить велосипед или делать симфони, я просто пытаюсь взять yii2 и выработать удобный подход к разработке. Какие есть проблемы на сегодняшний день: 1) В лучшем случае все лепят код в одну модель. В результате чего получается 1 модель...
- 2015.08.17, 23:34
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение приложения на слои
- Ответы: 196
- Просмотры: 73037
Re: Разделение приложения на слои
Читал, мне пока туда рановато. Я застрял на TDD и BDD. Уже как освою полностью тестирование, будем двигаться в DDD.Почитайте основы ДДД, вам много станет понятно.