ネビ活 | ネットビジネス生活

ネットxお金のスキルを作り、未来永劫豊かに暮らす事を目指すサイト

Laravelのblade.phpとは?普通のPHPは使える?初心者もよく分かる図と例で解説!

更新日:

Laravelのblade.phpとは?普通のPHPは使える?初心者もよく分かる図と例で解説!

Laravelを学び始めたんだけど、なにやら welcome.blade.phpみたいなのがあるよね。このbladeって実際どう使えばいいの?

 

というわけで、ここでは、Laravel初心者のあなたのために、

  • ブレードとはなんなのか?
  • aaa.blade.php と aaa.phpは何が違うの?
  • 普通のPHPは使えるの?
  • 具体的に何をbladeに書けばいいの?

というbladeの全体像をちゃんと理解できるように解説していきます。

これを知る事で、Laravelの使い方がグ~ンと分かるようになってきますよ!

 

Laravel初心者が絶望するController,Blade,Routesの関係が図解でよく分かる!

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

Laravelのblade.phpとは?

まず、bladeは、
Laravelプロジェクト\resources\viewsフォルダ内にある、blade.phpというファイル達の事です。

 

何のためにブレードはあるのかというと、
これらblade.phpが実際にブラウザに表示されるファイル達なんです。

この画像のように、blade.phpには、サイト全体のデザインやレイアウトのHTMLが入ってます。

 

このレイアウトに投稿記事やコメントなどが
コントローラーによってはめ込まれて、サイトが完成します。

laravelのblade,controller,routesの関係図1

 

blade.php 内には、サイト全体のhtmlを書きます。CSSやJavascriptなども併記可能です。

このnantoka.blade.phpのようなファイルをresources\viewsフォルダ内に配置する事で、ウェブページとして表示されるようになります。

 

WordPressで言えば、post.php, header.php, footer.php こういった部分と同じ機能を提供するのが、Laravel の blade.php なんだ。
Neby
HTMLを書くのに、拡張子は、.htmlじゃなくて大丈夫なの?
大丈夫だよ、HTMLだけ書いたとしても、必ず.blade.phpという拡張子にする必要があるよ。それに上の画像@ifのように、PHPも併記するからね。
Neby

 

blade.phpからbladeという文字を取ったら、どうなっちゃう?

blade.phpも、普通のphpファイルと同じなんだね。bladeっていう文字が名前に入ってるからややこしく感じるよ。だったら、bladeっていう名前を取って、aaa.phpにしちゃっても動くの?

実は、aaa.blade.phpというファイル名を、aaa.phpに変更してしまっても、php自体は動きます。Laravel上で表示させる事も可能です。

でも1つ問題が起きます。それはLaravelブレード専用のコード(タグ)が使えなくなっちゃう事です。

例えば、普通の.phpファイルなら、通常はこんな感じで書きますよね?(知らなくても問題ないです)

<?php
if (empty($keyword)){
echo "<h1>ネビ活</h1>";
}
?> 

<? php ?>というタグで囲いながら、phpの命令を書いていきます。

でも、laravelのブレードではちょっと違ってきます。同じものでもこう書きます。

@if(empty($keyword))
<h1>ネビ活</h1>
@endif

そう、書き方が違うんです。これがLaravelのブレード独自のPHPコードなんです。このシンプル化された独自のコードが、aaa.blade.phpというファイル名だと動くけど、aaa.phpにしちゃうと、動かなくなっちゃいます。

 

えー、ブレードはコードの書き方が違うの?それってPHPを学んだ人でもまた新しいコードを覚えなきゃいけないって事?シンプル化も何も逆に面倒くさいじゃん。
実は、普通の<?php?>タグをブレード内で使う事もできるんだ。でも、htmlのタグと<?php?>のタグがごちゃまぜになってると、かなり見ずらい。だから、もっと見やすくシンプルにするという意味もあって、Laravelブレード専用のタグも使えるようになってるんだよ。

確かに新たに覚えるのは面倒だけど、書き方はかなり似てるから、すぐ覚えられるよ。

Neby
ブレード専用って事は、コントローラーやルート、モデルなんかのLaravelのファイルでは使えないの?
うん、使えない。他のLaravelのファイルで@ifとか書いても動かないんだ。普通のPHPタグを使って書くよ。
Neby

LaravelのController.phpとは?初心者向けにやさしく図入りで解説

Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!

 

Laravelのblade.php内で普通のphpコードは使えるの?

今、話した事と重複しますが、aaa.blade.php 内でも、普通のPHPも使えます。

あくまでLaravelもPHPですから、PHPで使う命令文は一通り使う事が出来ます。

例えば、blade専用のコードでは、実現したい事が実現できない!って事もよくあります。
そういう時は、普通に<?php?>タグを使って、普通のPHPをブレードに書けば、ちゃんと動いてくれます。

ちなみに、<?php?>の代わりに、@phpと書いても同じ事ができるよ。
Neby

上の図のように、@ifのようなブレード専用コードと普通のPHPタグを混ぜて書いちゃっても問題なく動いてくれます。

 

Laravelのbladeは実際にどう使うのか?例で解説。

先程も触れましたが、Laravelのblade.phpは、実際にブラウザで表示される部分であり、レイアウト部分にあたります。

例えば、WordPressなら、post.php という大まかなレイアウト内に、header.phpやsidebar.phpなどを合体させて、さらにCSSでデコレーションしてページ全体のレイアウトを作ってますよね。

bladeもこれと似た「継承(extends)」という機能があります。

まず、サイト全体の共通レイアウトのブレードを作ります。

普通にHTMLを使って、<head>や<body>などのサイト全体を作っていきます。これにlayout.blade.phpのような名前を付けて、resources\viewsフォルダ内に保存します。

もちろん、トップページ、プロフィールページ、投稿ページのような感じで、
それぞれのページのブレードをこのあと作っていくわけなんですが、

ヘッダーや全体のレイアウトは共通なので、毎回それぞれのページのブレードに同じ事を何度も書くのは面倒ですよね。

そこでLaravelでは、継承という機能を使って、最初に作ったlayout.blade.phpの共通レイアウトを他のブレードでも使い回せるようになってます。

詳しいやり方については、この記事で解説してます↓

Laravelのbladeの継承。@sectionと@yieldの使い方、どっちがどっちか図で完璧に分かる!

 

blade.phpは、普通にテキストエディタで名前を付けて保存でいいの?
うん、例えば、Controller.phpやModel.phpを新たに作る時は、CommandPromptなどを使って、php artisan なんたら~という呪文を入れると、錬成される仕様になってるけど、blade.phpに関してはそういうのはないんだ。普通にテキストエディタでHTMLやPHPを書いて、拡張子を.blade.phpにして保存すればいいだけなんだ。
Neby
ねぇ、試しにblade.phpを作って、resources\viewsフォルダに入れてみたけど、これどうやってブラウザに表示させるの?
ブラウザで実際に表示させるには、ルート設定(URL設定)をしないとLaravel上では表示させられないんだ。でも、ルート設定しなくても、blade.phpファイルを右クリックして、ブラウザーで開くを選べば、ブラウザーで表示は可能だよ。
Neby
なんだか、そのルートとコントローラーの設定がややこしいなぁ。。
そうなんだよね。初心者にはすごくややこしいけど、この3つのシステムの使い方さえ分かっちゃえば、サイト作成が普通のPHPを叩いて作るより遥かに楽に作れるようになっちゃうんだ。

実際にルートとコントローラーを使ってブレードを表示させるチュートリアルがこの記事にあるから、やってみると理解できるよ↓。

Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!

Neby

 

Bladeまとめ

  • blade.phpはブラウザに表示するHTMLを書くところ。JavascriptやCSSも併記可
  • bladeは実際にブラウザで表示される部分。サイトのレイアウト(デザイン)を表示する
  • blade.phpという拡張子にする事で、ブレード独自のPHPコードが使用可能になる
  • blade内で普通のPHPも合わせて使用可能

 

ちなみに、あなたはなぜ今Laravelを学び始めたんですか?

稼げるって聞いたから?

どれくらい上達すれば稼げるのか?本当にそんな高給を稼げるのかの現実を知ってますか?

詳しくは下の記事に本音の裏事情を書いてるので参考にしてくださいね。

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-PHP Laravel入門

Copyright© ネビ活 | ネットビジネス生活 , 2020 All Rights Reserved.