2012-04-11 18 views
0

Ich verwende die Codeigniter Nachrichtenbibliothek.Die angeforderte Klasse konnte nicht geladen werden: Nachricht in Codegeigner

In meinem Controller habe ich den folgenden Code

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'); 
    } 
} 

Meiner Ansicht verwende ich

$this->message->display(); 

Ich habe bereits Message.php setzen in meiner Anwendung/Bibliotheken Ordner aber ich bin immer die Folgefehler

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 

Irgendeine Idee über diesen Fehler?

Vielen Dank im Voraus

+0

Ich denke, wir hier eine wichtige Bit des Codes fehlen. –

+0

Wenn es diese Nachrichtenbibliothek ist (http://codeigniter.com/wiki/Message) dann stellen Sie sicher, dass die Bibliotheksklasse eine __construct Funktion hat (wie alle Klassen nach CI2 haben sollten) – Rooneyl

+0

@Rooneyl Ich habe Ihre Antwort –

Antwort

1

Ihr Titel ist völlig anders als der Fehler, den Sie hier bekommen sind. Es besagt eindeutig, dass die Nachrichtenbibliothek einen Parameter benötigt, der an ihr Konstrukt übergeben wird, aber Sie laden die Bibliothek ohne Konstruktparameter.

Sie müssen das Konstrukt Parameter zu übergeben den zweiten Parameter verwenden, während es

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

Laden Wenn Sie sprechen, tatsächlich zu dieser Nachrichtenbibliothek hier http://codeigniter.com/wiki/Message dann muß ich sagen, die Dokumentation dort unvollständig ist.

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']; 
} 

Das Konstrukt hier erfordert einen Parameter $config an sie übergeben.

Überprüfen Sie die Dokumentation gründlich. Sie müssen dies beim Laden übergeben.

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

dann

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

Es sagt undefinierte Variable $ config –

+0

Ich habe meinen Code oben aktualisiert .. Sie müssen initialisieren '$ Config' zuerst – Broncha

+1

sollte ich meine Konfig Array und Config initialisieren [Wrapper] im Controller oder der Message-Klasse? –

Verwandte Themen