私のアプリケーションには定数があります:
define('APP_PATH', WEB_ROOT . APP_DIR);
define('LIBS_PATH', APP_PATH . LIBS_DIR);
define('MODELS_PATH', APP_PATH . MODELS_DIR);
define('VIEWS_PATH', APP_PATH . VIEWS_DIR);
define('CONTROLLERS_PATH', APP_PATH . CONTROLLERS_DIR);
etc...
アプリケーションが起動すると変更されることはなく、任意のクラス/メソッド内から簡単にアクセスできるためです。
私は他の設定を含む構成ファイルも持っています。これは$config
オブジェクトにインポートされ、アプリケーションを渡して次のように取得します。
$this->config->setting('some.setting');
アプリケーションの最後または途中で構成値を変更する必要がなかったので、コード内で簡単にアクセスできるように、それらを定数として定義する方が簡単ではないでしょうか?
設定を静的に取得したくありません。
Config::setting('some.setting');
Config
私はいくつかのPHPフレームワークのコードを見てきましたが、それらはすべてパスを定数として定義していますが、コード全体でこれらの構成設定を変更することは決してないことがわかりますが、何らかのクラスに他の構成設定があります(私は何万ものすべての行を読んだわけではないので)、これらのフレームワークの多くは、さまざまなクラスのメソッド内からあらゆる種類のメソッドへの静的呼び出しを行うのが好きなようで、人々はそれらが優れたフレームワークであると言いますが、私は読んで経験しましたクラス/メソッド内の静的呼び出しに関しては、良いよりも悪いです。
構成設定をどうするのが最善だと思いますか? 職業はなんですか?