Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
SamDark

Александр Макаров

Yii2 core team
  • 136
    вклад
  • 1
    вопрос
  • 135
    ответов
  • 40%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Взаимодействие нескольких репозиториев. Как объединить?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Получается, что ProductRepository зависит от других репозиториев (Category, ProductType, Image, File....).


    Это уж как сделаете. Может зависеть, а может и нет. Я бы не завязывал одно на другое. Пусть там будет похожий код... ничего страшного.

    Теперь главный вопрос - как собирать товар (или другую сущность) из разных кусков?


    Руками.

    Как обрабатывать метод $productRepository->save($product), если разные куски товара сохраняются по-разному.


    Индивидуально. Руками.

    Как быть с масштабированием, если в будущем появится еще что-то?


    Или взять ORM или, опять же, руками. Не бойтесь писать код и не бойтесь его дублирования в разумных пределах. Не всё то DRY что им кажется.
    Ответ написан более двух лет назад
    7 комментариев
    Нравится 2 7 комментариев
  • Как сделать расширенный поиск yii2?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Ну, JOIN сделать... joinWith.
    Ответ написан более трёх лет назад
    3 комментария
    Нравится 1 3 комментария
  • Yii2 как настроить виджет?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    https://github.com/samdark/yii2-cookbook/blob/mast...
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 1 Комментировать
  • В сделать кнопку переключения языков в yii2?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    https://github.com/samdark/yii2-cookbook/blob/mast...
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
  • Где правильно регистрировать зависимости (DI) в Yii2?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    В любом файле конфига. Конфигурирование контейнера — не инициирование зависимостей.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
  • 301 редирект для 11 тыс страниц как сделать. Фреймворк yii?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Если URL формируется из базы, написать свой URLRule.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 3 Комментировать
  • Обязателен ли индекс для внешнего ключа InnoDB MySQL?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Вопрос 1: зачем встроили создание индекса?


    Потому что индекс можно создавать и не по внешнему ключу.

    Вопрос 2: разве при удалении таблицы индекс и ключ не удаляются вместе с ней? Или в разных СУБД бывает по-разному?

    Потому что индексы иногда необходимо удалять отдельно.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
  • Комментарии в yii2 остаются комментариями как везде? Или несут функционал?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Именно эти комментарии для IDE. Чтобы дополнение работало лучше.

    Аннотаций в Yii практически нет. Комментарии читает консольный контроллер help для демонстрации описания команд и, насколько помню, это всё.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 3 Комментировать
  • Как кастомизировать функцию validatePassword() из \vendor\yiisoft\yii2\base\Security.php?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Сделайте отдельный класс. Не стоит трогать Security. Тот, кто будет заниматься проектом после вас, скажет вам спасибо.
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 1 комментарий
  • Как хранит сессии yii2, если DbSession не подключён?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Так, как задано в php.ini. По умолчанию в файлах.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
  • Информативная книга по Yii2?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    На тему пробелов частично поможет https://github.com/samdark/yii2-cookbook
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 2 1 комментарий
  • Что такое Model в МVС?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    M в MVC — это доменная-модель. То есть набор классов, отвечающий за логику приложения.
    Ответ написан более трёх лет назад
    9 комментариев
    Нравится 1 9 комментариев
  • Для чего нужны модули?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    rmcreative.ru/blog/post/moduli-yii
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
  • Как правильно писать тесты для приложения на Yii2?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    В Yii даже банальное ... порождает запрос к базе данных, для получения структуры таблицы news.


    Смокать вполне реально. Не знаю, как через Mockery, но через PHPUnit у меня вполне получалось.

    В шаблонах yii2-advanced и yii2-basic есть unit, functional, acceptance. Стоит выделить отдельную группу тестов - integration?

    Это название означает, что тесты не строго модульные. Реализованы они могут быть тем же PHPUnit.

    integration==functional

    Нет. integration = тестирует реальную базу, но всё ещё в терминах кода. functional = тестирует в терминах конечного пользователя: страницы, URL-ы, парсинг тела ответа. При этом реальный браузер не запускается. acceptance = то же, но с реальным браузером.
    Ответ написан более трёх лет назад
    7 комментариев
    Нравится 5 7 комментариев
  • Как настроить Xdebug для Yii2?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Настройка XDebug под Yii ничем не отличается от настройки XDebug под PHP. Ни единой особенности.
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 1 комментарий
  • Нужно ли создавать модели?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Мы у себя создаём... валидировать так и так надо, в модели оно или нет.
    Ответ написан более трёх лет назад
    1 комментарий
    Нравится 1 комментарий
  • Как написать функции работающие с названиям переменных как названиями свойств объекта?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    $class->{$propertyName}
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 3 Комментировать
  • Как обойти зависимость от yii\web\Request при unit test?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    Можно попробовать запустить юнит через phpunit, а не через CodeCeption.
    Ответ написан более трёх лет назад
    2 комментария
    Нравится 2 комментария
  • Как в yii2 организовать древовидные комментарии?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    С такой структурой эффективнее всего работает как раз рекурсия. Да и код получается в разы проще.
    Ответ написан более трёх лет назад
    8 комментариев
    Нравится 8 комментариев
  • Yii2 best practics. Как правильно организовать наследование моделей?

    SamDark
    Александр Макаров @SamDark
    Yii2 core team
    AR-класс в backend / frontend может не наследоваться от AR-класса из common, если логика их использования различна, пусть и немного схожа.

    common нужен если у нас на уровне базы всё одинаково, а вот часть бизнес логики, заложенная прямо в AR-класс разная.

    По хорошему, кстати, бизнес логику надо выносить в отдельный слой, но так как ради двух строчек лепить его не хочется, пока её мало, она остаётся в AR-классах.
    Ответ написан более трёх лет назад
    3 комментария
    Нравится 2 3 комментария
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • Следующие →
Самые активные сегодня
  • sergiks
    Сергей Соколов
    • 7 ответов
    • 0 вопросов
  • yupiter7575
    • 6 ответов
    • 0 вопросов
  • wppanda5
    WP Panda
    • 6 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 5 ответов
    • 0 вопросов
  • Jump
    АртемЪ
    • 5 ответов
    • 0 вопросов
  • NikaMyaso
    Ника Мясо
    • 4 ответа
    • 1 вопрос
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации