我有这个问题:尝试创建管理面板,我有用户的输入和SMTP帐户的通过,我需要在将其发送到数据库之前尽可能安全,我这样做:
$config = array(
'protocol' => 'smtp',
'smtp_host' => Settings_model::$db_config['smtp_host'],
'smtp_port' => Settings_model::$db_config['smtp_port'],
'smtp_user' => $this->encrypt->decode(Settings_model::$db_config['smtp_user']),
'smtp_pass' => $this->encrypt->decode(Settings_model::$db_config['smtp_pass']),
'smtp_timeout' => 30,
'charset' => "utf-8",
'newline' => "\r\n"
);
我收到了这个错误:
Fatal error: Using $this when not in object context in /application/helpers/send_email_helper.php on line 29
这一行:
'smtp_user' => $this->encrypt->decode(Settings_model::$db_config['smtp_user']),
'smtp_pass' => $this->encrypt->decode(Settings_model::$db_config['smtp_pass']),
有什么想法吗?我不想在文件中公开pass和user。 提前谢谢!
答案 0 :(得分:0)
您无法在静态方法中使用$this
运算符。
对于静态方法,您应该使用self::
而不是$this
。
答案 1 :(得分:0)
全部谢谢!
我从这个回答中解决了这个问题:https://stackoverflow.com/a/9321743
$ci = get_instance(); // $ci replaces $this
现在有效!