2

我有一个普通类,我喜欢让它被其他类扩展。

例如,我的目录在这些文件夹中设置了文件夹和类文件

类/用户/users.class.php 类/general/general.class.php

我有扩展通用类的用户类,但由于它们位于不同的文件夹中,我猜找不到通用类。

类用户扩展一般{

}

有人可以帮我解决这个问题。

我还应该提到我正在使用 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 回答