2011-01-19 19 views
1

PHP/Kohanaでは、何らかの処理を行うコントローラアクションメソッドがあります。それが終了すると、私は例えば、別のコントローラに送信します。:Kohana/PHPでは、新しいコントローラ/アクションに実行をどのように送ることができますか?

public function action_import_csv() 
{ 
    Kohana_Import_Driver_Csv::process_files_from_csv_to_mysql($this->import_directory); 
    //url::redirect(Route::get('backend_application')->uri()); //undefined method URL::redirect() 
    //redirect(Route::get('backend_application')->uri(), null); //undefined function 
} 

少なくとも最初のリダイレクトが動作するはずthis documentationによります。私はコナナ3を使用しています。

このコントローラーのアクションメソッドから新しいコントローラー/アクションに実行を送信するにはどうすればよいですか?何らかの理由補遺

は、URL ::リダイレクトは、ここでは、利用できない私はurl::のために取得するコード補完です:

alt text

@bharathが、私はurl::current()を試してみましたが、これを得ましたエラー:

alt text

+0

あなたのIDEは何ですか? – RobertPitt

+0

@ RobertPitt - Eclipse + PDT – techexpert

答えて

8

問題は、あなたがKohana 2ドキュメントを見ていることです。 kohanaのホームページに行き、正しい文書を見つけてください。また、何らかの理由で、誰もがコントローラのコンテキストからこの操作を行う、あなたはリダイレクトするには3

で作業している述べていても、あなたのKohana 2つの答えを与えている: $this->request->redirect($something);

$somethingは次のようになります。

controller 
controller/action 
http://url.com 

Hereは(redirectメソッドのAPIドキュメントです、これはURLを解析するurl::siteを使用することに注意してください。あなたもそのメソッドのソースを見てみたいことがあり

。 0
+0

これは意味をなさないが、これは以前から起きていたので、kohana 3のドキュメントはhttp://kohanaframework.org/guideにあります。kohana 3ドキュメント内の "url ::"または "redirect"を検索するには、このページには検索ボックスがありません –

+1

@Edward:これはガイドです。[api docs](http://kohanaframework.org/guide/api)は検索可能です。ガイドはチュートリアルの多くで、apiドキュメントは参考になります。 – ryeguy

+0

しかし、urlは静的なクラスであり、存在するので、ドキュメントに記載されているように、リダイレクトメソッドを持つ必要があります。 – RobertPitt

0

私は非常にわからないが、私はあなたがredirect()機能が

redirect(controllername/method) 
+0

上記のようにしようとすると、 'undefined function redirect()'が呼び出されますが、url :: redirect()バージョンでさえ動作しません。新しいコントローラにリダイレクトされません。もし何かが起きている場合、正確に何をしているのかを調べようとしています。 –

+0

urlクラスの一部であるため、url :: redirect()コントローラ名/メソッド);これは、urlクラスがロードされていることを前提としています。 urlクラスをロードせずにこれを試してみてください。お役に立てれば。 – bharath

+0

ああ、申し訳ありませんが、それは既にそれを試したことを全部読んだ?.. – bharath

0

は、それはすべきではない任意のパラメータ

例であなたが送信する他のコントローラに渡す簡単な使用をすることができると思う:

url::redirect('controller/method'); 

もしうまくいかない場合は、リダイレクトを呼び出す前に多少の出力があったかもしれません(おそらく、 "Headers already sent"エラーが発生します)。

+0

を申し訳ありませんが、私は 'url ::'のコード補完で "リダイレクト"しなくても、上のスクリーンショットを見てください。 –

関連する問題