私は独自の PHP フレームワーク (学習体験用) を作成していますが、どちらがより良い実践になるか判断できません。
すべてのクラスの名前を持つ Registry クラスを作成します。他のクラスはレジストリを呼び出してクラス名を見つけます。
すべてのクラスのエイリアスを作成する AliasRegistry クラスを作成します。
最初の設計でクラス名にアクセスすると、コードは次のようになります。
$delegateClass = $this->registry->delegate;
$object = new $delegateClass;
2 番目の設計でクラスにアクセスすると、私のコードは次のようになります。
$object = new _NI_ALIAS;
また、他のクラスを動的に拡張してインターフェイスを実装することもできます
class Template implements _NI_ALIAS
2 番目の方法は、特にフレームワークの名前空間に含めることができるので、私にとってはより理にかなっています。しかし、何らかの理由で、これをパッドの練習と呼んでいる人がいます。
どちらがより良い習慣だと思いますか?