2

私は他のクラスによってそれを拡張してもらいたい一般的なクラスを持っています。

たとえば、ディレクトリにフォルダとそれらのフォルダ内のクラスファイルを設定しています

Classes / users / users.class.php classes / general / general.class.php

一般クラスを拡張するusersクラスがありますが、それらは異なるフォルダーにあるため、一般クラスが見つからないと思います。

クラスユーザーは一般を拡張します{

}

誰かがこれを理解するのを手伝ってくれませんか。

また、私はautload関数を使用していることにも言及する必要があります

4

2 に答える 2

8

オートローダーがない場合は、前にクラスを含めます。

次に、クラスが認識され、それを使用できます。

require_once(__DIR__.'/../general/general.class.php');
于 2012-06-25T16:35:50.107 に答える
3

両方のクラスまたは必要な他のクラスを必ずロードする必要があります。例えば:

ブートストラップで...:

// Set up the include path so that we can easily access the class files
set_include_path('/absolute/path/to/classes'. PATH_SEPARATOR . get_include_path());
require_once('users/users.class.php');

users.class.php:

require_once('general/general.class.php');
class User {
  // you class definition
}

クラスフォルダへの絶対パスを取得する限り、ブートストラップの場所に基づいてこれを構成する必要があります。例えば:

// bootstrap lives in $_SERVER['DOCUMENT_ROOT'] and classes is one level up outside the doc root
// this code is in the bootstrap...
$path = realpath(dirname(__FILE__).'/../classes');
set_include_path($path . PATH_SEPARATOR . get_include_path());
于 2012-06-25T16:39:57.757 に答える