我有以下项目文件夹和文件:(请注意,我想将我的类与库分开(例如PHPMailer,HTMLPurifier等))
在我的Register.php文件中,我有注册类:
namespace Classes\Register;
class Register
{
public function register()
{
// ...
$m = new PHPMailer;
// send email
}
}
因此,在我的Register类(位于classes /目录中)中,我想使用PHPMailer类(位于上面的一个目录,相对于Register.php文件,进入libs / PHPMailer)。如何将PHPMailer类包含在Register.php文件中?
我试过了:
$m = new \PHPMailer; // to use the class from the global scope, but it doesn't work.
或者,如果我包含PHPMailerAutoload.php,就像这样:
namespace Classes\Register;
require '../libs/PHPMailer/PHPMailerAutoload.php';
// and then into register() method:
$m = new PHPMailer;
我收到错误消息:Fatal error: Class 'Classes\Register\PHPMailer' not found
有什么想法吗?非常感谢!
答案 0 :(得分:6)
你没有理由说这不起作用,因为它是正确的:
$m = new \PHPMailer;
或者,您可以将类导入您自己的命名空间:
use PHPMailer;
$m = new PHPMailer;
关于班级名称,它基本相同。
如果两个版本都不起作用,则会遇到其他问题。