PHP - Laravel - 現在の URL を取得

 クラウディア
1. 概要
2. 書き方

1. 概要

 まぁ、気に食わないのは、本来「laravel」は、リンクで相対アドレスを解釈してくれないということなんですがね。  実際、相対アドレスで、上下のリンク先や同一レベルのリンク先を書くにも、フルドメインで書かねばならないのが、なんとももどかしいというか、面倒くさい。  おそらくは、「URL」一つで、「GET」「POST」のオプションで表示を変えるのを想定しているからなのでしょうが、それは、ちょっとワタクシ的には、いただけないのです。  コンテンツ内に、同一ドメイン内のアドレスを相対で書くのであれば

<a href="../ほにゃ">ほにゃら</a>
<a href="./ふにゃ">ふにゃら</a>
 とか書きたいものではありますわな・・・。  なんとか、現在の「URL」を取得して書き出すことで、記述する際の手間を少しだけ簡略化することはできるようです。  本ページは、下記のサイトを参考にさせていただきました。
Laravel の Blade ビューで現在の URL を取得する

2. 書き方


{{ request()->fullUrl() }}
 と書くことで、想定していることを実現することができます。  概要に書いてある、同一ディレクトリへのリンクの場合、サイトルートであれば

<a href="{{ request()->fullUrl() }}/ふにゃ">ふにゃら</a>
 と書いてやれば、インデックスからの相対リンクであれば、なんとかなるわけです。  サイトルートでない場合、1つ上の階層は

<a href="{{ request()->fullUrl() }}/..">ひとつ上</a>
 同一階層であれば

<a href="{{ request()->fullUrl() }}/../リンク先">同一階層のリンク先</a>
 と記述して、うまくいくことを確認しました。  まぁ、出力されたコンテンツソースを見ちゃうと、ぶちゃいくになるのは防ぎようがありませんが。
earthcar(アースカー)