お使いのブラウザはJavaScriptが実行できない状態になっております。当サイトはWebプログラミングの情報サイトの為、JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。, 当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。紹介記事はこちらへどうぞ。, 当サイト(wp-p.info)の情報はお役に立ちましたでしょうか。当サイトでは運営及び開発費用ご支援の募集をさせて頂いております。よろしければご支援についてご検討頂けませんでしょうか。何卒宜しくお願い致します。, この記事を書いているのは夏真っ盛りな時期なんですが、なんだか今日は寒いです。デスクワークを2x年続けてると気温の変化についていけず困ったもんでございます。, 前回は『変数』について色々とやりましたね。ちょっと地味な記事が続いているので今回はちょいとPHPの強力さとか便利さを紹介したいと思います。, その名も『インクルード処理』でございます。これ超便利です。ちなみにこれは正式な名前じゃないです。私が勝手に呼んでるだけです。, (´-`).。oO(とはいうものの、『インクルード処理』といえば大体伝わる気がします...), 『インクルード』(include)とは直訳すると「含める、入れる」って意味になり、プログラミングにおいての『インクルード』は『他のファイルに記述した内容を取り込む』という感じの意味になります。これは正式な言葉です。違ってたらすみません。, さて、当記事をお読みの方は「HTMLならバリバリ書けるぜ!」という設定のもと進めているので少しHTMLを振り返ってみたいと思います。, んでもってHTMLにはhead要素ってありますよね。その上のdoctype宣言なんかもそうです。あの記述って大体同じ感じになるかと思います。以下の部分になります。, HTMLファイルだけで構成した場合、例えばCSSのファイルの場所を変更するとなると全HTMLファイルの記述を変更しなくてはなりません。何百万ファイルあったらもう大変です。一括置換とかすればいんですが、一括置換はミスすると怖いのでなるべく避けたいところでもあります。, しかし、PHPで構成した動的ウェブサイトならば『include()』とかを使うことでパーツ分けしたHTMLファイルとかを取り込んで出力できるようになります。ちょっとその処理を構築してみましょう。, まず『header.php』って名前でファイルをひとつ作ります。この名前は何でも大丈夫ですが、head要素とか記述する場合は『header.php』って名前を付けるのが一般的な気がします。そしてこのファイルにdoctype宣言とかhead要素あたりの記述を書き込みます。, 次に同じフォルダ(ディレクトリ)に『index.php』というファイルを作成します。これがメインのphpファイルになりますね。トップページに表示させたいならば名前は『index.php』にしておくと良いです。ディレクトリの場所はどこでも構いませんが、同じ場所に置いておくと分かりやすいです。その『index.php』に残りのHTMLソースを記述します。, そして『index.php』の頭に『include('./header.php');』と記述してあげます。以下のような感じですね。, さて、この状態で『index.php』にアクセスするとあら不思議。以下のテキストファイルが返ってきます。, 最初のHTMLファイルとほぼ同じ状態のソースコードがちゃんと返ってきていますね。『インクルード処理』を組み込むとこんな感じになります。これでCSSファイルの場所とかを変更することになっても『header.php』をちょろっと直すだけで全てのページに修正を反映することができます。いかがでしょうか。かなり使い勝手が良さそうな感じがしてもらえれば嬉しいです。, では改めてPHPの『インクルード処理』のさせ方を確認していきましょう。ちょっとややこしいのですがPHPでの『インクルード処理』を行える関数は『include()』、『require()』、『include_once()』、『require_once()』の計4種類が存在しています。しかも微妙に処理が違っていたりするのでちょっと確認していきましょう。, 基本的な文法としては『()』の中にファイルの場所を文字列で指定してあげるだけでOKです。『.php』じゃなくて『.txt』とかも問題なく読み込んでくれます。例えば『./header.php』を読み込ませる場合は以下のような感じになりますね。, さて、それぞれの関数の違いになりますが、『include()』と『require()』ではファイルの読み込みに失敗した場合の処理に違いがあります。『include()』の場合はファイルの読み込みに失敗しても『include()』の処理部分だけ中止してその先に続く記述は何事もなかったかのように処理を走らせます。, 逆に『require()』ではファイルの読み込みに失敗した場合はその場ですぐエラーとなり、その先の記述を含めて処理が停止されます。, ちょっと確認してみましょう。存在しないファイル『./test.php』を『include()』で読み込ませてみます。, こうすると以下のようなテキストが返って来ます。(php.iniの設定でエラー出力を『On』にしている場合), このようにエラーがでてはいるものの、最後にちゃんと『test!』が出力されていますね。, 『include()』と違い、『test!』という文字列が出力されていません。このような感じで続く記述も含めて処理が中断にされてしまうのが『require()』になりますね。, この動きを考えてみると、柔軟な『include()』の方が使い勝手が良い気がするかと思います。しかし、重要な処理が記述してあるPHPファイルなどは必ず読み込ませる必要があったりしますので、読み込みに失敗した時点で処理を停止してくれる『require()』の方がミスに気づきやすかったりします。, なので読み込みに失敗しても大した問題にならない、通常のHTMLファイルやテキストを読み込ますときは『include()』、確実に読み込ませなくてはならない重要な関数などの処理が書かれたPHPファイルなどを読み込ますときは『require()』、といった使い分けをしている方が多いです。どっちか迷ったら読み込ませたいファイルが重要なのか、それとも重要じゃないか、で考えてみると良いかもしれません。, (´-`).。oO(まあ、読み込ませるファイル指定の記述を間違えなければいいだけの話だったりするんですけどね...), そしてあと2つの関数、『include_once()』、『require_once()』についてです。『include_once()』は同じファイルが指定された場合は一度しか処理しない『include()』、『require_once()』は同じファイルが指定された場合は一度しか処理しない『require()』、といった感じになります。, ちょっと実験してみましょう。先ほどと同じ『header.php』を『index.php』で『include()』で2回出力させてみます。, 『header.php』が二回読み込まれて出力されていますね。これを『include_once()』に書き換えてみます。, 『include_once()』が2つ記述されているにも関わらず『header.php』が一度しか読み込まれて出力されていませんね。『require_once()』でも同じ結果になります。これが『include_once()』と『require_once()』の挙動になります。, ちょっとややこしい感じで混乱しがちなのでPHPでの『インクルード処理』についてまとめてみましょう。, まずあまり重要でないファイル(ただのHTMLソースコードだったり、ちょっとした文言が記述されている感じのファイルとか)では『include()』を使用すると良いです。『include_once()』を使用してしまうと、その取り込んだファイルを一度しか出力(処理)できなくなってしまうために修正するのに一手間かかってしまう場合があります。, 例えば、新着情報が書かれている『whatsnew.txt』を取り込んで『include_once()』を使ってページ上部に出力させていたのですが「この新着情報はページの下部にも出力させたいなぁ」という気分になった場合、これまでの処理を『include()』に書きなおさなければ下部に『whatsnew.txt』を出力させることはできません。何百ページと存在していたらその修正はかなり手間になってしまいますよね。なので『include_once()』は使用する機会はほとんどない、と考えて良いです。, そしてPHPやJavaScriptなどの関数定義や処理が書かれた必ず読み込ませないといけない重要なファイルでは読み込みに失敗したらすぐに気付ける『require_once()』を使用すると良いでしょう。, 「『require()』じゃないの?」となるかもしれませんが、まず関数定義などの処理群が記述されたファイルは何度も読み込ませる必要がないことが多いです。同じ関数とかを何回も再定義するのも変な話ですからね。そういう処理群が書かれたファイルを間違えて複数読み込ませると処理を上書きしてしまったりしてしまったりしてちゃんと動かなくなってしまう結果になりがちです。, 特にウェブサイトの構築にあたってJavaScriptファイルの取り込み間違いは要注意です。JavaScriptはブラウザで実行させる言語なので、ウェブサイトを表示させているだけで変数や関数などで保持している値がコロコロ変わる感じになります。, 間違えてJavaScriptファイルを複数回読み込ませて動かなくなってしまった場合、JavaScriptが苦手なサーバー系のプログラマーさんとかだとどこのミスなのか特定するのにかなり時間がかかってしまう場合があります。『require_once()』ならば1度しか読み込まれないので間違えて書いてしまっても動かなくなる事態には発展することは稀です。, (´-`).。oO(「間違えなければ良いだけの話だろぉ」ってなるかもしれませんが...), (´-`).。oO(大規模なウェブサイトやブラウザゲームの開発になるとファイルがパーツ化されていてバラバラになっているので...), (´-`).。oO(ファイルすべてを把握しきれず間違えて同じ処理を何度も書いてしまう場合が多々あるのでございます...), というわけで超まとめです。単純なファイル読み込みで使用するのは『include()』、重要なファイル読み込みで使用するのは『require_once()』。, ちょっと記事が長くなってしまってすみません。シンプルなウェブサイトを構築する場合でも『インクルード処理』は中々便利だと思います。当サイトでも『インクルード処理』はバリバリ組み込んであります。「この辺のデザインちょっと変えたいなぁ」なんてなった場合でも一箇所直すだけで済んだりするのでメンテナンスがとっても楽ちんでございます。, というわけでここまでお疲れ様でした。次の記事では『演算子』とかを使って色々と遊んでみましょう。ではではこの辺で。またお会いしましょう。, ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。, 記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。, 当サイトでは有料会員様の募集をしております。現在約431本の記事を公開中です。有料会員になるとこれら全ての記事が読み放題となります。お申込み頂ける際はログインまたはアカウント作成後、有料会員件をご購入下されば幸いです。有料会員権はまとめ買いがお得です。, 『include_once()』は同じファイルが指定された場合は一度しか処理しない『include()』、『require_once()』は同じファイルが指定された場合は一度しか処理しない『require()』, 単純なファイル読み込みで使用するのは『include()』、重要なファイル読み込みで使用するのは『require_once()』.

蒙ICP备06004630号. 코드의 양이 줄어들고, 수정이 용이하기 때문입니다.

Voodoo Bikes Wiki, Lac La Belle Homes For Sale, How To Heal A Burn Fast, Borderlands 3 Best Of Tiny Tina, Dallas Cowboys Pre-game Events, Bc Hydro Ruskin Dam, New Westminster Parks And Recreation, Social Pilot Training, Pronóstico Extendido Mar Del Plata, Ridgelawn Funeral Home, Addie Vs Sam, How To Force Update Android Tablet, Wedding Venues North West Uk, Kristen Dalton Net Worth, Cost Of Booking Hotel For Wedding, Fortis B-42 Official Cosmonauts Chronograph Titanium, Batman Android Game, Addeventlistener Multiple Elements, Telegraph Logo Png, Refill Store Vancouver, Claptrap Support Build, Is Allison Payne Married, Beverley Mitchell 2020, Spymate Netflix, Ethical Issues In Journalism And The Media Pdf, Npm Commands, Stevia Diabetes, Pk Xd Mod Apk Unlimited Money And Gems Android 1, La Paz Altitude, Stache Pronounce, Megamind Black Mamba, Soviet Union Population 2019, Dahj Star Trek: Picard Actress, Lake Glenbawn, Blue Collar Vs Ivory Tower, Harley Love Island Season 5, Es6 Polyfill Ie11, Kkr Highlights, Busybox For Android, Do Max And Liz End Up Together In Roswell, New Mexico, Dotterel Call, President Clinton’s Remarks In Kigali On The Rwandan Genocide Summary, Territorio De Zaguates Alimento, Naruto Quiz Questions,