2012-04-11 12 views
0

私はCodeigniterメッセージライブラリを使用しています。私のコントローラで要求されたクラスをロードできません:codeigniterのメッセージ

私は、私はすでに自分のアプリケーションにMessage.phpを入れている

$this->message->display(); 

を使用し、次のコードに私のビューで

public function __construct() { 
    parent::__construct(); 
    $this->load->library('message'); 
} 

public function box($box_id=null, $language_name=null) { 
    if($id_from_url[5]==null){ 
     $this->message->set('Please provide Box ID in URL.', 'error'); 
    } 
} 

を持っている/ライブラリは フォルダが、私は取得しています次のエラー

Message: Missing argument 1 for CI_Message::CI_Message(), called in W:\Zend\Apache2\htdocs\mediabox\system\core\Loader.php on line 1099 and defined 

このエラーについて考えてみませんか?事前に

おかげ

+0

私たちは、ここでのコードの重要なビットが欠けていると思います。 –

+0

このメッセージライブラリ(http://codeigniter.com/wiki/Message)の場合は、ライブラリクラスに__construct関数があることを確認してください(すべてのクラスはCI2に準拠している必要があります)。 – Rooneyl

+0

@Rooneyl答えが得られません –

答えて

1

あなたのタイトルはあなたがここに取得しているエラーよりも完全に異なっています。 Messageライブラリには、そのコンストラクトに渡されるパラメータが必要ですが、コンストラクトパラメータなしでライブラリをロードしていることが明確に記載されています。あなたが実際にここでこのメッセージライブラリについてhttp://codeigniter.com/wiki/Messageを話している場合

$this->load->library('message',$config); 

それをロード中に二番目のパラメータを使用して構造パラメータを渡す必要があり

、私はドキュメントが不完全であり、言わなければなりません。

function CI_Message($config){  
    $this->CI =& get_instance();   
    $this->CI->load->library('session'); 

    if($this->CI->session->flashdata('_messages')) $this->messages = $this->CI->session->flashdata('_messages'); 
    if(isset($config['wrapper'])) $this->wrapper = $config['wrapper']; 
} 

ここでのコンストラクタには、パラメータ$configが渡されている必要があります。

ドキュメントを完全にチェックしてください。これをロードする際に渡す必要があります。

$config = array(); 
$config['wrapper'] = array('<div id="messages">', '</div>'); 

その後、

$this->load->library('message',$config); 
+0

未定義の変数$ config –

+0

私は上記のコードを更新しました。最初に '$ config'を初期化する必要があります – Broncha

+1

私の設定配列とconfig [ラッパー]のコントローラまたはメッセージクラス? –

関連する問題