2016-06-21 21 views
2

私はLaravelの初心者ですが、私はバージョン5.2を使用しています。コントローラのルートをリダイレクトする際に戻り値として使用する方が良いかどうかを知りたいと思います。Laravel 5.2リダイレクトで使用する方が良いですか?

return Redirect::route('home'); 

または

return redirect()->route('home'); 

いずれかがある中で(S)、ソースを明記してください。

答えて

1

ミシェル、それは同じです。すでにご存じの通り ですので、あなたが快適であれば何でもご利用ください。

パフォーマンスの向上やセキュリティ上のリスクなど何か恐れるものはありません。 これらは静的関数です。

ファサードは使用しないでくださいが間違っていると言う人もいます。あなたがlaravelの生みの親

HERE

+0

私はLaravelを勉強していたよう。これは私を助けた。ニース!アーケラフ! –

+0

あなたのためにうれしい仲間:D –

0

これは単なるショートカットであり、はどちらもまったく同じであるため、これは好みの設定です。個人的に私はファサードの代わりにヘルパーを使うことを好みます。

1

redirect()ヘルパーとRedirectファサードの両方で書かれ、ここではそれについての詳細情報を見つけることができます本当に台無し

は同じことをしない限り、 - 彼らはRedirectorインスタンスを返します。だからあなたの利便性の問題です。

docsに示されているように私は個人的にヘルパーを使用することをお勧めします。

1

また、以下の方法で名前routeを呼び出すことができ、完全にあなたのpreference.Youに依存している:

return redirect(route('home')); 

または

return redirect()->route('home'); 

または

return Redirect::route('home'); 

を私が個人的に最初のものを好みます。

0

tl; drファサードから移動します。

Laravel IoCコンテナは、それらを同じ基本クラスに解決するため、最終的には両方ともあなたに望ましい結果をもたらします。

多くの人が視覚的訴求のためにファサードを好む。

これはあなたには当てはまりませんが、はコードの明示とモジュール性を考慮してください

コンストラクタインジェクションとは、そのクラスが作成されるときにコンストラクタを介してクラスの依存関係が注入されることを意味します。そのクラスが必要とするものを明示的に宣言しているため、そのクラスが何をするかについてのアイデアが与えられます。

出典:テイラーOtwell(Laravelの作成者)のブログ記事Response: Don't Use Facades

Laravel 5と、我々は/契約やメソッドインジェクションを照らす持っています。これにより、ファサードと同じ最終結果を達成することが非常に容易になり、プロセスでコードをデカップリングすることができます。

出典:ジェフリー・ウェイ(laracastsの作成者)フォーラムの応答To use or not to use Facades?

+0

これは、Taylor Otwellによって述べられたように役に立ちました。ニースQevo! –

関連する問題