您好namespace
中codeIgniter
的问题。
我想做的是:
我已使用phpmailer
composer
它有namespaces
个
使用PHPMailer \ PHPMailer \ PHPMailer;
使用PHPMailer \ PHPMailer \ Exception;
当我包含此namespace
时,它会提供此error
Class' Frontend_Controller'找不到
这是我的控制器代码:
无错误代码 - 此代码正常运行
class Welcome extends Frontend_Controller {
//my code goes here
}
此代码提供错误
require "vendor/autoload.php";
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
class Welcome extends Frontend_Controller {
// my code goes here....
}
我尝试了此链接,但是如果我将代码放入application\config\config.php
请提前帮助我
答案 0 :(得分:0)
在config文件夹中创建一个文件email.php ...
<?php
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'youraccount@gmail.com';
$config['smtp_pass'] = 'test@12#';
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n";
?>
并在主控制器......
$params['mailtype'] = 'html';
$params['subject'] = ' Something ';
$this->email->set_mailtype("html");
$this->email->from('info@test.co.in', 'Application name');
$this->email->to('example@gmail.com');
$this->email->subject($params['subject']);
$this->email->message($this->load->view('your_view_page', $params, true));
$this->email->send();
答案 1 :(得分:0)
CodeIgniter 2.x
在index.php中添加以下行
require "vendor/autoload.php";
现在在控制器内
use PHPMailer\PHPMailer\PHPMailer;
了解更多信息参考:https://stackoverflow.com/a/15244577/7296317
CodeIgniter 3.x
如果您希望CodeIgniter
使用Composer auto-loader
,只需将$config['composer_autoload']
设置为TRUE
或application/config/config.php.
参考:https://www.codeigniter.com/user_guide/general/autoloader.html
并且在您要使用PHP邮件程序的文件顶部,可能需要以下内容:
use PHPMailer;