0

私はこの問題を抱えています:管理パネルを作ろうとしていて、ユーザーの入力とSMTPアカウントのパスがあり、DBに送信する前にできるだけ安全にする必要があり、次のようにしています:

$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']),

何か案は?パスとユーザーをファイルに公開したくありません。前もって感謝します!

4

2 に答える 2

0

皆さんありがとう!

このアンサーからこれを解決しました: https://stackoverflow.com/a/9321743

$ci = get_instance(); // $ci replaces $this

そして今動作します!

于 2013-08-29T12:26:57.900 に答える
0

静的メソッドでは演算子を使用できません$this

静的メソッドのself::代わりに使用する必要があります。$this

于 2013-08-29T12:17:42.383 に答える