我有一个类,例如它位于/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(或在自动加载的另一个文件中)中声明一个包含应用程序基路径的常量,然后改用该常量。