• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:requireについて)

requireについて

このQ&Aのポイント
  • アドレスから該当クラスを生成し、メソッド呼び出しを行うための処理方法について学んでいます。
  • CartクラスのコンストラクタでRequestクラスを生成するため、require文の記述方法について悩んでいます。
  • 【require_once 'Request.php'】にするとクラスの生成が成功する理由について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

>【Requst.phpは、index.htmlから見て】のrequire文を記述しないといけないのでしょうか? そうです。requireしたら、実行されてから読み込まれるのではなく、読み込まれてから実行されますので、A.php->B.php->C.php …とrequireされる場合、すべてA.phpで実行される事になります。 単純にrequire(…)の1行が、そのファイルに置き換えられる、と考えれば分かりやすいかと。 ※ただし、パスなしでファイル名だけの require_once 'Request.php'; のような書き方の場合は、設定されているinclude_pathも走査されますので、必ずしも同階層の"Request.php"が実行されているとは限りません。 http://php.net/manual/ja/function.include.php 個人的には絶対パスあるいは共通の設定ファイル等でdefine して require LIB_DIR."~"; のようにした方がよいと思いますよ。

kureakai
質問者

お礼

>そうです。requireしたら、実行されてから読み込まれるのではなく、読み込まれてから実行されますので、A.php->B.php->C.php …とrequireされる場合、すべてA.phpで実行される事になります。 単純にrequire(…)の1行が、そのファイルに置き換えられる、と考えれば分かりやすいかと。 やはり、そういうことなのですね。情報ありがとうございます。 すっきりしました。

関連するQ&A