Как отправить запрос с использованием фреймворка Yii - PullRequest
0 голосов
/ 06 января 2012

Привет, как я могу отправить запрос на контроллер / действие в Yii похож на коану

Request::factory('controller/action')
    ->post(
        array(
            'login' => 'abc',
            'password' => 'def'
        )
    )
    ->execute();

Я прочитал Yii doc, но не нашел ни слова об этом.

1 Ответ

0 голосов
/ 06 января 2012

Yii не является иерархией MVC с вложенными представлениями, если вы пытаетесь это сделать. Лучшее, что вы можете сделать, это использовать вложенные виджеты (которые могут иметь представления).

Если вы просто делаете перенаправление, это просто:

$this->redirect(array('controller/action','param1'=>'abc','param2'=>'def'));

Но это «истинный» редирект только с параметрами GET, он не поддерживает отправку переменных POST.

Если вы просто используете это для внутренней логики маршрутизации запросов, вам придется придумать другую стратегию. Скажем, вы хотите вызывать одно и то же действие от двух разных контроллеров: я бы порекомендовал либо создать базовый класс Controller с общими действиями, чтобы другие контроллеры могли их наследовать, либо использовать модульный класс CAction Yii для присоединения действий к контроллерам.

(Извините за отсутствие ссылок, сайт Yii сейчас недоступен для обслуживания.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...