別のPHPファイルを読み込む方法っていくつかあるけど違いは?

PHPでプログラミングをしているとき、1つのPHPファイルで1つの処理をするわけではありません。

MVCモデルが基本ですし、Cの中から別のCの部品になるPHPを実行したりもします。

そうしたほうが同じ処理をいくつも書かずに使いまわしてプログラミングの作業を効率化できます。

 

ただこの外部のPHPファイルを読み込む方法が4つあります。

  • require
  • require_once
  • include
  • include_once

これらの違いはなんでしょうか?

requireとinclude

requireとincludeの違いは、Fatalエラーになるかならないかです。

PHPはコンセプトなのかエラーが発生してもあまり途中で処理が止まらないです。

Javaとかならちょっとミスっただけでもう次の処理はしません。

 

エラー時に途中で処理が止まらないことが良い事か悪い事かは置いといて、PHPにも処理が続行できないエラーもあります。

それがFatalエラーです。

 

requireやrequire_onceを使った場合、読み込むファイルが存在しなければFatalエラーになり、それ以降の処理はされません。

includeやinclude_onceはFatalエラーにならずに、以降は続行されます。

_onceありなし

_onceのありなしの違いは、何度も読み込めるかどうかです。

_onceのありは1度しか読み込めません。

 

例えば以下のようなPHPがあったとします。

ファイル名はaiueo.phpとしましょう。

そしてaiueo.phpをrequireで読み込みます。

実行結果は次のようになります。

何度も「あいうえお」が出力されています。

 

ではrequire_onceを使ったらどうでしょう?

実行結果は次のようになります。

1度しか実行されていないことが分かります。

 

requireで実験しましたが、includeでも同じです。

まとめ

外部のPHPファイルを読み込む方法は、次の4つがあります。

  • require
  • require_once
  • include
  • include_once

まあでもぶっちゃけ、読み込むファイルが無い状態とか普通作らないですし、何度も読み込むような作りもナンセンスだと思います。

なのでどれ使っても同じだと思います。

まあでもバグったとき後続の処理で変な風にDBを更新されたりしても嫌なので、require_onceが一番無難かもしれないです。

コロナの影響でみんな大変だから俺もなんかできること

僕は福井県に住んでいるのですが、戦時中に福井大空襲にあい、その直後に大震災にあってボロボロになった話をおばあちゃんに聞きました。

それでも復活することができ、不死鳥の町と言われるようになりました。

先人達には心から感謝し尊敬します。

リーマンショック、東日本大震災、コロナと数十年に一度と言われる被害が立て続けに起きていますが、僕たちは強いです。

今は苦しいかもしれませんがきっと復活できます。

僕は低学歴ですし小さな小さな粒でしかないですが、プログラミングに関しては必死に勉強し15年以上ごはんにありつけています。

プログラミングを勉強している人の役に立てるほどのスキルはあると思っています。

なので1人でもんもんと悩んでいる若手のエンジニア向けに質問を受け付けることにします。

自宅で待機されている間もパソコンとインターネットがあればプログラミングの勉強はできます。

  • PHP
  • SQL
  • HTML・CSS
  • jQuery

とは言ってもいきなり答えを聞いていたのではなかなか成長できないと思うのです。

なので質問の際には次のことをご連携ください。

  • 何をやりたいか
  • どんなことを調べたか、検索キーワードと参考にしたページのURL
  • 調べた結果どこが分からないか
  • できるなら試したコード

メッセージいはとりあえずTwitterにでもください。

質問はこちら

すぐに返事できないかもしれませんがご了承ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA