1

私は次のような自動ロード機能を持っています:

function __autoload_HTTP_Client($class_name) {
    $HC = $class_name . '.class.php';
    return require_once($HC);
}

クラスを呼び出すときは、$ users = new users();を使用します。

私がやりたいのは、クラスファイルをクラスディレクトリ内のフォルダに配置することです。だから私は

/users/users.class.php
/general/general.class.php

私のユーザークラスでは、general.class.phpを拡張できるようにしたいと思います

class users extends general {

}

一般から$this->を使用できるようにしたいので、includeを使用したくありません。しかし、私が一般的に拡張すると、別のディレクトリにあるため、クラスが見つからないと表示されます。

これを修正するためのアイデア(ディレクトリ/$file.class.phpを使用するには自動ロードを変更する必要があることを私は知っています

しかし、現在のクラスのディレクトリの外にあるクラスを拡張するにはどうすればよいですか。

4

1 に答える 1

1

使用する:

set_include_path(get_include_path().':/users:/general');

上記はそれらのディレクトリ内のファイルを検索し、オートローダー内のinclude/requireでパスやファイル名などを使用する必要はありません。

于 2012-06-26T01:24:25.377 に答える