如何在某个路径中加载 PHP 类


How do I load a PHP class in a certain path?

我有一个类,例如它位于/some/path/Class.php。现在我想创建此类的对象。

我试过了,但没有用:

$obj = new some/path/Class();

我还尝试包含类 be fore 并以正常方式创建对象,如下所示:

include('/some/path/Class.php');
$obj = new Class();

也会引发错误。如何创建该类的对象?

使用dirname(__FILE__) . '/some/path/Class.php'

其中dirname(__FILE__)是调用此类的文件的路径。

您使用

的包含方法是正确的,问题似乎是文件的路径。

因此,您可以使用从中调用它的文件的相对路径:

include 'some/path/class.php';

或使用完整路径:

include '/absolute/root/full/path/class.php';

要找出完整的路径,您可以上传一个简单的PHP文件:

echo phpinfo(); 

然后在该页面上搜索"SCRIPT_FILENAME",这将显示当前文件在服务器上运行的绝对路径。

include('/some/path/Class.php');

这将开始在根文件夹中查找,因此您必须提供文件的完整路径,这显然没有意义。

使用类似的东西

dirname(__FILE__)

以使用相对路径。您可能还希望在索引中声明一个常量.php(或在自动加载的另一个文件中)中声明一个包含应用程序基路径的常量,然后改用该常量。