За последние 24 часа нас посетили 7783 программиста и 472 робота. Сейчас ищут 177 программистов ...

Прошу совета по архитектуре

Тема в разделе "Yii", создана пользователем 118_64, 15 сен 2020.

  1. 118_64

    118_64 Активный пользователь

    С нами с:
    8 янв 2015
    Сообщения:
    63
    Симпатии:
    1
    Yii2, в контроллере

    class SiteController extends Controller


    есть перечень actions, в каждом из которых нужно создать массив со значениями, которые нужно рассчитать.

    Планирую создать конструктор в этом же контроллере, и уже в нем массив инициализировать, причем сами расчеты элементов массива вынести в отдельный компонент.

    Прошу совета, насколько приемлемым является такой подход, или так делать нельзя?
    Если не годится, как лучше сделать правильно?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.681
    Симпатии:
    1.487
    Ну вообще лучше в SiteController бизнес-логику не пихать. Там обычно главная страничка плюс какая-нибудь ерунда типа контактной формы. Создайте отдельный/отдельные контроллеры, смотря сколько всего вам нужно там считать. И что за массивы, не совсем понятно? Учебный проект или реальный?
     
    118_64 нравится это.
  3. 118_64

    118_64 Активный пользователь

    С нами с:
    8 янв 2015
    Сообщения:
    63
    Симпатии:
    1
    И учебный и реальный одновременно. Давно написал на php что-то типа конструктора магазинов, хочу переписать на Yii2. Там возможны доменные имена вида:

    1) constructor.com/id
    2) myname.constructor.com
    3) mypersonaldomain.com

    Соответственно, совершенно разные должны быть ссылки в различных навигационных списках, например, в меню сайта:

    1) constructor.com/id/about
    2) myname.constructor.com/about
    3) mypersonaldomain.com/about

    Навигационную ссылку нужно где-то отдельно собирать, вот думаю, где и как правильно это сделать. А массив параметров - это то, из чего собирается строка ссылки:

    $par1 . 'constructor.com' . $par2 . '/about'
     
    #3 118_64, 15 сен 2020
    Последнее редактирование: 15 сен 2020