【環境】
PHp5.6
以下のような構成のディレクトリに配置されたファイルで、Family.phpを開いた時のincludeの書き方について質問です
【前提】
・HugutaFamily.phpはIsonoFamily.phpからしか呼ばれない
・Family.phpからincludeするのではなく、IsonoFamily.phpからincludeしたい
しかし、IsonoFamily.phpに相対パスで./huguta/HugutaFamily.phpと記述するとファイルが見つからないというエラーが表示される
IsonoFamily.phpに include "./isono/huguta/HugutaFamily.php" と書けば動作する(Family.phpから見た相対パスを書く必要がある)
現在のように、Family.phpにinclude宣言をしていると、野原家や野比家が増えた時に延々include文を書くことになります。
HugutaFamily.phpのinclude宣言をIsonoFamily.phpに記述するにはどうしたら良いのでしょうか。
このような場合、どうするのが一番スマートですか。
【ディレクトリとファイル構成】
└─family │ Family.php │ └─isono │ IsonoFamily.php │ └─huguta HugutaFamily.php
●family\Family.php
include "./isono/IsonoFamily.php"; include "./isono/huguta/HugutaFamily.php"; echo "■Family Start" ."<br>\n"; $isono = new IsonoFamily();
●family\isono\IsonoFamily.php
class IsonoFamily { function __construct(){ echo "磯野波平, 磯野フネ, 磯野カツオ, 磯野ワカメ" ."<br>\n"; echo "■フグ田家読み込み開始" ."<br>\n"; $f = new HugutaFamily(); } }
●family\isono\huguta\HugutaFamily
class HugutaFamily { function __construct(){ echo "フグ田マスオ, フグ田サザエ, フグ田タラオ" ."<br>\n"; } }
出力結果
■Family Start
磯野波平, 磯野フネ, 磯野カツオ, 磯野ワカメ
■フグ田家読み込み開始
フグ田マスオ, フグ田サザエ, フグ田タラオ
回答3件
あなたの回答
tips
プレビュー