Пост Post запрос из одного контроллера в другой?

Тема в разделе "Общие вопросы", создана пользователем Cheremadze, 10 ноя 2020.

  1. Cheremadze

    Cheremadze Новичок

    Сообщения:
    18
    Симпатии:
    0
    Добрый день! Подскажите, каким образом отправить пост запрос из одного контроллера в другой?

    Контроллер принимающий:
    PHP:
    if (isset($this->request->post['selected']) && $this->ll->validate()) {
                
    $number false;

                foreach (
    $this->request->post['selected'] as $order_id) {
                    
    $order $this->{$this->ll->getModel()}->getOrder((int)$order_id);
     
  2. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    никак.
    post, приходит с клиента(браузера)
     
  3. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    862
    Симпатии:
    236
    Ну почему же никак!? Можно установить какой-нибудь GuzzleClient и сделать любой запрос.
    Но скорей всего в OpenCart это будет трудно-реализуемо!
     
  4. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    да, если обращение к сторонним API. а зачем отправлять пост с контроллера в контроллер?
     
  5. Cheremadze

    Cheremadze Новичок

    Сообщения:
    18
    Симпатии:
    0
    Изначально, пост запрос идет из tpl модуля в административной части.
    Но я же хочу объединить работу двух модулей при нажатии на одну "общую" кнопку. Логику работы пишу в одном из них.
    С помощью curl нельзя отправить post с контроллера на контроллер?
     
  6. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    862
    Симпатии:
    236
    Можно конечно, но сама идея странная. Ведь контроллеры нужны для того, чтобы принять запрос, забрать какие то данные из него (если они есть) и выполнить бизнес логику. Вы же, находясь так сказать внутри и имея на руках данные, пытаетесь выкинуть их наружу, чтобы опять принять и что то с ними сделать. Почему не сделать сразу то, что вы хотите, там где вы уже обладаете этими данными?
     
  7. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    862
    Симпатии:
    236
    Это уже другой вопрос! Однако, конечно же лично я не вижу причин делать такое.
     
  8. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    каких, если не секрет?
     
  9. Cheremadze

    Cheremadze Новичок

    Сообщения:
    18
    Симпатии:
    0
    Модуль работающий с системой учета мой склад по api
    + модули экспорта всех ТК(сдэк, ББ, почта и другие)
    Чтобы была одна кнопка=)
    Нажал -> получаешь наклейку на посылку. А модуль доставки в фоновом режиме выгрузился в ТК, создалась отгрузка в системе учета и поменялись статусы заказов.
    Этот функционал я делаю в модуле системы учета. По-этому нужно передать информацию в контроллер модуля доставки.
    Наверно так и придется делать.
     
  10. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    862
    Симпатии:
    236
    Общий функционал как правило выносится в сервисный слой или отдельный класс. Тогда не придётся описывать бизнес логику повторно. Достаточно будет вызвать нужный метод там, где нужно, передав данные.