いくつかの抽象クラスを含む小さな PHP エンジンをコーディングしました。エンジンのユーザーは、これらの抽象クラスのサブクラスを実装し、それらのサブクラスをエンジンに提供する必要があります。エンジンは、これらのサブクラスのインスタンスを作成および操作できる必要があるため、ユーザーは単にインスタンスを作成してエンジンに渡すことはできません。
そのため、ユーザーがサブクラスをエンジンに渡す方法が必要です。明らかな方法の 1 つは、これらのサブクラスに特定の名前を付けて特定のディレクトリに配置するようにユーザーに強制することですが、それはどういうわけか洗練されていないように思えます。PHP がクラスを変数に格納できることを知っていたので、最初に試みたのは、クラスを定数に格納することでしたdefine
。そのため、ユーザーがサブクラスの名前とパスを入力するいくつかの s を含むファイルを作成しました。それはうまくいきませんでした - PHP はクラスを定数に保存できず、変数だけに保存できるようです。
だから今、私は同じアプローチを試みていますが、定数の代わりに変数を使用しています。というファイルがUserIncludes.lib.php
あり、ユーザーは 2 つの変数をサブクラスの名前に設定する必要があります。次に、これらの変数を使用して、エンジンのコード全体でこれらのサブクラスを呼び出します。特にキーワードを使用して変数を必要とするすべての関数に変数をインポートする必要がありglobal
、エンジンの事務的および精神的負荷が増加するため、これが良いシステムであるかどうかはわかりません。
では、PHP でこの種のことを行うためのベスト プラクティスは何ですか? それはかなり一般的なタスクでなければならないようです。