0

codeigniterコンストラクターを動的に設定しようとしていますが、問題が発生しています。私は私のコントローラーに持っています:

$arguments=array('login'=>'***','pass'=>'***');  ;                   
$this->load->library('mailer', $arguments);
$phpmail = new Mailer;
$phpmail->sendmail('***', 'bob', 'hi', 'there');

私のコンストラクターの最初の行は次のようになります。

public function __construct($login,$pass)

しかし、私は次のようになっています:

Message: Missing argument 1 for Mailer::__construct(), 

私が間違っていることについて何か考えはありますか?

前もって感謝します、

明細書

4

1 に答える 1

2

ドキュメントから:

ライブラリの読み込み関数では、2番目のパラメーターを介してデータを配列として動的に渡すことができ、クラスコンストラクターに渡されます。

$params = array('type' => 'large', 'color' => 'red');

$this->load->library('Someclass', $params);

この機能を使用する場合は、データを期待するようにクラスコンストラクターを設定する必要があります。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Someclass {

    public function __construct($params)
    {
        // Do something with $params
    }
}

?>

最初の引数は、渡した正確な配列です。代わりに$params['login']とを使用してください。$params['pass']

于 2013-03-20T16:46:35.907 に答える