このような問題が解決できる内容となっています。
こんにちは、セイタです。
今回の話題は、Laravelで開発をしているときに外部PHPファイルを呼び出す方法についてです。
それなりにサイト作成を行っていると、ソースコードが長くなってしまって保守が面倒になってきてしまうことが予想されますよね。
ひと目でソースコード内にどの外部PHPが使用されているのが分かれば、サイトやソースコード管理がかなり楽になります。
要するにフレームワークを使用しない場合は、『require_once ('example.php');』という書き方をするLaravel版ですね!
コードの書き方自体は簡単で、@includeのディレクティブを使用すればOKなので、本記事では@includeディレクティブと外部PHPの呼び出しについて解説します。
【Laravel】外部PHPファイルの呼び出し方法【5分で完了】
Laravelで外部PHPファイルを呼び出すには、『@include』というディレクティブを使用します。
外部PHPを呼び出す際のディレクティブ
通常フレームワークを使用しない場合の外部PHPを呼び出すときのソースコードは『require_once ('example.php');』と書くと思いますが、Laravelの場合はもっと簡単に書けます。
@include ('components.example(.blade.php)')
作成している一部に上記のコードを入力することで、外部PHPファイルとして読み込むことが可能です。
componentsフォルダの名称は任意のフォルダ名でOKなので、自分のわかりやすいフォルダ名にしてもOKです。
resources/viewsに新規でcomponentsフォルダを作成
それでは、実際にviewsフォルダの中にcompornentsフォルダを作成してみましょう。
とはいっても、手順としてはcomponentsフォルダの中にexample.blade.phpを作成してコードエディターで開くだけなので、すぐ終わると思います。
呼び出す際のPHPファイルを作成する
componentsフォルダを作成したら、その中にexample.blade.php作成します。
コードエディターで開くと、何も無いblade.phpが表示されていると思います。
ここで少し混乱してしまうかと思うのですが、新規でexample.blade.phpを作成したとしてもHTMLの定義コードから書く必要はありません。
既に引用先が決まっているPHPファイルになるので、引用元でHTML定義コードが記述されているゆえ新しく書く必要はないということですね。
そのため、いきなり必要となるソースコードを書いても大丈夫です。
外部PHPファイルを呼び出す際のサンプルコード
メインのblade.php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>外部PHPファイル呼び出しサンプル</title> </head> <body> <div class="container"> <div class="row"> <div class="col-xl-6"> @include('components.other_php_sample') </div> <div class="col-xl-6"> <p>左のカラムに外部PHPで呼び出した内容が表示されます。</p> </div> </div> </div> </body> </html>
外部PHPファイル『other_php_sample.blade.php』
<div class="text-center"> <p>この部分は<span style="font-weight: bold;">other_php_sample.blade.php</span>で引用されています。</p> </div>
HTMLの最終的なソースコード内容
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>外部PHPファイル呼び出しサンプル</title> </head> <body> <div class="container"> <div class="row"> <div class="col-xl-6"> <!-- 引用された部分 --> <div class="text-center"> <p>この部分は<span style="font-weight: bold;">other_php_sample.blade.php</span>で引用されています。</p> </div> <!-- /引用された部分 --> </div> <div class="col-xl-6"> <p>左のカラムに外部PHPで呼び出した内容が表示されます。</p> </div> </div> </div> </body> </html>
簡単なサンプルソースコードになりましたが、内容としてはこのような感じになります。
この引用部分がかなり長い内容になった場合、引用先のblade.phpファイルのソースコードが膨大になって見づらくなってしまうことを防ぐことが可能です。
ぼくの状況を例に上げるとトップページにボックスが3つあって、その中に別々のコンテンツを入れるという開発をしているのですが、頭からソースコードがかなり長くなってしまうことが予想されました。
簡単な画像の表示とかであればそこまでソースコードが長くなることは無いと思いますが、複雑なソースコードのコンテンツを追加するときには今回の方法を重宝することになるでしょう。
コンパクトにソースコードをまとめて、見やすく開発しよう!
ソースコードが膨大になると、修正・アレンジするときに該当部分を発見することが大変になります。
今回のようにソースコードが長くなることが予想された場合は、『@include』ディレクティブを使用して、見やすい環境で開発を行っていきましょう。
今回の記事の内容おさらい
- resources/viewsの中にcomponentsフォルダを作成
- componentsフォルダの中にexample.blade.phpを作成
- 引用したいblade.phpファイルの中に@include('components.example')を記述する
上記の手順でソースコードをスッキリさせることができるので、Laravel開発の際に有効活用しましょう。