ホームページ  >  記事  >  バックエンド開発  >  CakePHP のレンダー、リダイレクト、ディスパッチの違い

CakePHP のレンダー、リダイレクト、ディスパッチの違い

WBOY
WBOYオリジナル
2016-06-13 12:33:26872ブラウズ

CakePHP
におけるレンダー、リダイレクト、ディスパッチの違い http://blog.csdn.net/kunshan_shenbin/article/details/6221219
CakePHP には、ジャンプ、レンダリング、リダイレクト、ディスパッチによく使用される 3 つの関数があります
1. レンダリング関数
public function render($action = null, $layout = null, $file = null)
render
string $action
string $layout
string $file
render レンダー ビュー、コントローラーのアクションが終了すると render メソッドが自動的に呼び出され、アクション名で指示されたビューを出力するため、このメソッドはあまり使用しないかもしれません。同時に、コントローラー内のロジックを呼び出すときに現在のコントローラー内の他のページにジャンプしたい場合は、コントローラー ロジック内の任意の場所でこのメソッドを呼び出してビューを出力することもできます。たとえば、次のように使用できます。 : 削除関数内の
削除が成功すると、リストページのインデックスにジャンプします。次のように書くことができます
public function delete(){
$this->index();
$this->render(null, null, 'index');
}
2. リダイレクト関数
redirect
string $url
ユーザーのリダイレクト。このメソッドは、ユーザーがどこにアクセスし続けるべきかを伝えます。ここで渡される URL パラメーターは、Cake の内部 URL または完全な URL (http://...) にすることができます。 URLをブラウザに送信して再度リクエストする方法です。
3. ディスパッチ関数
ディスパッチ関数は Dispatcher クラスにあり、
$Dispatcher->dispatch($url);
ここでスケジューラはurl 関連するパラメータ (URL を解析するためのルートを含むさらに多くのアクションを呼び出します) を取得し、それらを対応するコントローラに転送し、最後にコントロールを関連するコントローラのメソッドに転送します。このメソッドは主に他のコントローラーにジャンプするために使用されます。同じコントローラーにジャンプするには、render を使用します。
注: ディスパッチを使用してジャンプする場合は、最後に exit を呼び出す必要があります。

App::import('Core', array('Dispatcher'));
......
$dispatcher = new Dispatcher();
$dispatcher->dispatch($this->request,$this->response,array("controller"=>"admins","action"=>"site"));
        exit();
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。