私のサイトの経路がi18nなので、言語の短いコードが含まれているURL構造を作成したいと思います。英語へ英語)Laravel/php関数の変数が間違って交互に表示される
私はmysite.com/articles/1/some-post-title
を達成しようとしています(デフォルト) が、その後mysite.com/fr/articles/1/some-post-title
(この場合には、フランス語を適切な言語を選択してください)
私は2つのルートのロケール変数のないものとローカル変数のない他のを持っています。この二つの経路は、同じ機能を指している
ケース1私のコードではなく、(NULLであるとする)$locale
変数のルートからのID値を割り当てロケール変数が存在しない
は次いで$title
$id
に割り当てられた変数は、コードが間違った結果を返します。すべての3つの変数が
Route::get('/{locale}/articles/{id}/{title}',function($locale=null,$id=null, $title=null){
return $locale.'<br>'.$id.'<br>'.$title;
});
もう存在しているので、右の注文が続いているケース2
で
Route::get('/articles/{id}/{title}', function($locale=null,$id=null, $title=null){
return $locale.'<br>'.$id.'<br>'.$title;
});
はI場合でも、ケース2内のコードが誤動作します
心配します変数の順序を変更し、おそらく最後にローカルに置く、どのようにPHPがこれを処理するかわからないが、私は注文shoulを考えていないこれらの変数には一意の名前があるので問題ありません。 私は可能な解決策として2つの異なる機能へのルートを指すことができますが、それは単にコードを繰り返すことになります。 ご協力いただきありがとうございます。
私は状態ではなく、値ではないと思います。値として、しばしばうまく運ばない。 'foo.com // a'対' foo.com/0/a'です。確かに私は完全に質問を持っているが、それは基本的に何が起こっている? – ficuscr
@ficuscrこの場合、関数のルートレベルではなくヌル値が割り当てられます。 –
@ficuscr最初のルートはロケール変数が完全に無効なので、null値は「//」になりません –