スクリプトで __autoload を使用して、必要に応じてクラスを含めています。私のスクリプトは、クラス名の手がかりを使用して、それを含むファイルを見つけます。モデルで終わる場合、それはモデル ディレクトリにあり、コントローラーはコントローラー ディレクトリにあるなどです。インターフェイスの実装を開始しているので、オートローダーを調整する必要があります。
理想的には、オブジェクトが作成されると、オートローダがオブジェクトのファイル名と格納場所を決定し、そのファイルを含めます。次に、実装するインターフェイスについてそのクラスに問い合わせ、それらのファイルを自動的に含めます。
何かのようなもの
function __autoload($classname){
echo $classname;
include ("classes/$classname.php");
$interfaces = class_implements($classname,FALSE);
foreach($interfaces as $name){
if(!class_exists($name,FALSE)){
include("interfaces/".$name."inter.php");
}
}
}
私がそうするときを除いて、エラーが発生します
11 行目の W:\xampp\htdocs\test\auto.php で __autoload() (以前は W:\xampp\htdocs\test\auto.php:5 で宣言されていた) を再宣言できません
__autoload() でこれを行うことはできませんか? オブジェクトのタイプとそれらが格納されている場所を区別するために、命名規則に頼り続ける必要がありますか?