私は自分の状況をできるだけ明確に説明しようとします。
枠組みを作っています。そのシステムには次のディレクトリが含まれます:
1) コア - ルーティング、メイン クラス (オートロード、構成、定数)、リクエスト
2) ヘルパー
3) ライブラリ
index.php では、ベース URL やインデックス ファイルなど、最も重要な構成変数をすべて設定します。それらを「メインクラス」内に設定しました。
これらの属性は非公開です。リクエスト フロー中に変更されたくないからです。
したがって、これらの変数への唯一のアクセス ポイントは、「メイン クラス」メソッドからです。
さて、これらのプライベート変数の 1 つが$_base_url
.
ただし、URL クラス (ヘルパー ディレクトリ内) など、より適切な場所からユーザーが base_url にアクセスできるようにしたいと考えています。
これを実現するには、「メイン クラス」内の get_base_url() と url クラス内の get_base_url() の 2 つのメソッドを作成する必要があります。これは次のようになります。
class Url {
public static function get_base_url() {
return Main_Class::get_base_url();
}
}
私の問題は、さまざまなクラスから呼び出したい変数がいくつかあることです。
繰り返しコードがたくさんあります。
私が見る唯一の解決策は、これらの変数を異なるクラスに直接設定することですが、メインクラス内に集中させたいと思います。
これをどのように処理すればよいですか?