【laravel】@sectionに{{変数}}とした時に出力されない

製作 プログラム

2018/12/19(水)

ラムネグから一言:無料アプリを3つ作りました。記事下部にリンクがあるので見てみてくださいね。さっそくみてみる

最初に

「laravelで@sectionに{{変数}}を入れると出力されない問題」は今のところまだ解決してません。とりあえず妥協しているだけなのでもっといい方法を知っているlaravelマスターの方、知恵をお借りできればうれしいです。記事下部の「Message」より書き込んでいただけます。

では、記事始めますね。

まず問題点

まず今回ぶつかった問題点を書きます。

laravelの@sectionというと、そうですね。みなさんご存知bladeで@yieldとセットで使うあれです。

それでこの@sectionの書き方は二つあって、

@sectionの書き方1


@section('yield_name')
中身
@endsection

@sectionの書き方2


@section('yield_name', '中身')

この書き方2の方、一行で書けるのでシンプルで便利ですよね。

でも、書き方2だと中身にララベルの変数エスケープ処理である{{}}を入れた時うまく出力されない、というのが今回の問題です。

わかりづらいですよね。もっと具体的な例だと、よくタイトルとかを書き方2の方法で記述すると思います。その時、例えばログイン制のサイトを作っていて、「〇〇さんのプロフィールページ」みたいなタイトルをつけようとすると、「〇〇」の部分が変数になると思うんですが、そこがうまく表示されない、という問題です。

こんな時にうまくいかない


@section('title', '{{$name}}さんのプロフィールページ')

妥協案

書き方1を使う、というのが妥協案です。

bladeファイルが読みにくくなってしまうのでヤだったんですが、仕方がありません。

またこのとき、

改行されちゃう


@section('title')
{{$name}}さんのプロフィールページ
@endsection

とすると、html上でtitleタグが改行してしまうので、

改行されない


@section('title')
{{$name}}さんのプロフィールページ@endsection

みたいに「@endsection」を改行せずに記述するとtitleタグが改行されずにスッキリします。

もっといい方法お待ちしています

あまり解決になっていなくて申し訳ないです。かなり調べたのですが根本の解決方法がわからず。

こんな方法もあるよ、という情報をお待ちしております。

【どどん!】ラムネグではただいまアプリを絶賛提供中!さあ、選べる3つの無料アプリ!あなたはどれにする?

【わたガチャ】

あなただけのガチャを作ろう♪

すたーと!

【みんガチャ】

みんなで一つのガチャを作りあげよう♪

すたーと!

【litty-リティ】

秘密のメッセージをフォロワーさんに送っちゃおう!

すたーと!