1. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Получилось у меня запустить Yii2 в CMS.
    Пока обрабатывается один единственный элемент - это страница.
    Вызываю "new yii\web\Application($config))->run()".

    Но есть вопросы:
    1. как мне Yii2 показать что это Id-такой-то страницы?
    2. есть необходимость использовать более двух объектов run на странице - часть будет для страницы, часть будет для элементов содержимого, но для них нужно по разному настроить обработку роутеров.
     
  2. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Код:
                    $GLOBALS['_GET']['r'] = 'page/index';
                    $config = require PATH . 'config/web.php';
                    ob_start();
                        (new yii\web\Application($config))->run();
                    $content = ob_get_clean();
                    return $content;
    Нашел пока только вот такой вариант запуска.
    Сверху дописав: $GLOBALS['_GET']['r'] = 'page/index';
     
  3. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Роутер останется от CMS сверху.
     
  4. fixxxer

    fixxxer К.О. Партнер клуба

    Сообщения:
    12.964
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Что-то ты странное очень делаешь.

    Судя по твоим соседним темам, ты хочешь что-то вроде виджетов сделать, которые вызываются извне, по принципу "статически собранных микросервисов", ну или по принципу angular-компонентов.
    Зачем тебе там вообще полный MVC-фреймворк (тем более такой монолит, как Yii)? Зачем на этом уровне HTTP-роутер, билдер HTTP-ответов, обработчик исключений и прочее вот это все?
    Я бы на твоем месте собирал такую штуку из отдельных библиотек. Взял какую-нибудь ORM, какой-нибудь template engine, какой-нибудь DI container, и соорудил бы вокруг этого какой-нибудь простейший диспетчер вызовов.
     
  5. флоппик

    флоппик promotor fidei Команда форума Партнер клуба

    Сообщения:
    4.951
    Ваш город:
    Павлодар, Казахстан
    Address:
    Pavlodar, Kazakhstan
    Country:
    Location on Map:
    Нащальника, синий изолента заматал, пащиму ниработаииит??
     
  6. fixxxer

    fixxxer К.О. Партнер клуба

    Сообщения:
    12.964
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    А это как называется? :)

    Кстати, тут наверняка будет ситуация "ниработаит", когда в yii::app (или как его там) закэшируется какая-нибудь stateful-фигня, или где-нибудь внутрях обнаружится stateful же синглтон.
     
    Последнее редактирование: 20 дек 2017
  7. Вурдалак

    Вурдалак I'd like to model your domain

    Сообщения:
    6.172
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Если учитывать, что HttpRequest в Yii — это mutable обёртка над глобальными переменными, то это true way.
     
  8. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Пока все работает.
    На что можно заменить GLOBALS['_GET']['r'] - на что то более изящное?
     
  9. Вурдалак

    Вурдалак I'd like to model your domain

    Сообщения:
    6.172
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    PHP:
    (new ReflectionClass(\yii\web\Request::class))->newInstanceWithoutConstructor()->get('r')
     
  10. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    7.088
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    О! Расскажи, какие ORM нормальные есть? Чтобы помогало писать код без написания такого же объема макросов или конфигов, и не занимало 80% времени вызова.
     
  11. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.311
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    раз уж заговорили, на днях https://github.com/atk4/data нашел
     
  12. fixxxer

    fixxxer К.О. Партнер клуба

    Сообщения:
    12.964
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Для write models - analogue.
    Для read models - ну, не знаю, вот тот же atk4 вроде подойдет. Я ручками.

    В идеале хотелось бы что-то вроде ROM для php, но не в курсе о наличии таковых.
     
  13. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Не совсем понял и как туда передать какой контроллер и акшин запускать?
     
  14. Вурдалак

    Вурдалак I'd like to model your domain

    Сообщения:
    6.172
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Ну это буквально везде можно запускать, в этом и мощь Yii.
     
  15. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Можно пример - что передать можно в ->get('r')?
     
  16. Вурдалак

    Вурдалак I'd like to model your domain

    Сообщения:
    6.172
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Ну ты же спрашивал
    Название переменной после знака вопроса в URL.
     
  17. StalkerClasses

    StalkerClasses Новичок

    Сообщения:
    596
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Имею в виду я могу заменить:
    на что то вроде этого...

    (new ReflectionClass(\yii\web\Request::class))->setController('page')->setAction('index');
     
  18. Вурдалак

    Вурдалак I'd like to model your domain

    Сообщения:
    6.172
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Ну, зная Yii, я могу допустить, что и такое возможно. Но вряд ли.
     
  19. Вурдалак

    Вурдалак I'd like to model your domain

    Сообщения:
    6.172
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Если вкратце, то что в этой библиотеке прикольного, чего нет в существующих PHP аналогах?
     
  20. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    7.088
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    А какой микрофреймворк ты с ним используешь? В моей реальности половина задач выполняется в офлайне демоном или по крону. Что ты используешь для демонов и CLI?
     
    Последнее редактирование: 8 янв 2018