[Laravel]リクエストのルーティング
Laravel公開のKakaoTalkで活動しています
これにより、質問や回答が多く見られますが、ラベルの公式ドキュメントに記載されていない機能には簡単に解決できる問題がたくさんあります.ブログでこれらの部分を少し整理したいと思います.
コードを減らす方法を聞かれ、まずラベルの正式なドキュメントで
Laravel8.x requests#inspecting-the-request-path
The is method allows you to verify that the incoming request path matches a given pattern. You may use the * character as a wildcard when utilizing this method:
パターンに従って調整するが、例や説明のみでは画像コードを簡略化する方法は見られない.
こういう時はラベルソースコードを見るのが便利です.
request()のソースコード
では、いくつ入れたらいいですか.と思いましたが、テストが面倒なので、
Illuminateroutingrouteのコード
このようにして、上記のコードはrouteIs(「users」,「Users-Status」)のように正常に動作することができる.
これにより、質問や回答が多く見られますが、ラベルの公式ドキュメントに記載されていない機能には簡単に解決できる問題がたくさんあります.ブログでこれらの部分を少し整理したいと思います.
n.問題
ソリューション
コードを減らす方法を聞かれ、まずラベルの正式なドキュメントで
request()->routeIs()
の方法を説明しました.Laravel8.x requests#inspecting-the-request-path
The is method allows you to verify that the incoming request path matches a given pattern. You may use the * character as a wildcard when utilizing this method:
パターンに従って調整するが、例や説明のみでは画像コードを簡略化する方法は見られない.
こういう時はラベルソースコードを見るのが便利です.
request()のソースコード
public function routeIs(...$patterns)
{
return $this->route() && $this->route()->named(...$patterns);
}
パラメータとして高速演算子が受信されていることがわかります.では、いくつ入れたらいいですか.と思いましたが、テストが面倒なので、
named(...$patterns)
のコードをもう一度調べることにしました.Illuminateroutingrouteのコード
public function named(...$patterns)
{
if (is_null($routeName = $this->getName())) {
return false;
}
foreach ($patterns as $pattern) {
if (Str::is($pattern, $routeName)) {
return true;
}
}
return false;
}
このコードから、$patterns
の1つのモードが一致する限りtrue値が返されることがわかる.このようにして、上記のコードはrouteIs(「users」,「Users-Status」)のように正常に動作することができる.
Reference
この問題について([Laravel]リクエストのルーティング), 我々は、より多くの情報をここで見つけました https://velog.io/@wonjun3991/Laravel-뜯어보기-Request의-Routeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol