2017-02-13 2 views
0

Neu in PHP, oop & Codezeichner. Meine CI-Version ist 3.1.2.Zugriff auf die Funktion in der Codekennzeichner-Bibliothek nicht möglich

Ich versuche, eine Bibliothek zu laden, die ich gebaut habe, um objektorientierte Prinzipien zu verstehen. Vermutlich vermisse ich etwas.

Unten ist meine Bibliothek.

<?php 
class DPS { 
    private $mode; 

    public function __construct($params){ 
     //print_r($params); 
     $this->mode = $params['mode']; 
    } 

    public function get_url(){ 
     if($this->$mode == "TEST"){ 
      return "https://uat.paymentexpress.com/pxaccess/pxpay.aspx"; 
     } elseif($this->$mode == "LIVE"){ 
      return "https://sec.paymentexpress.com/pxaccess/pxpay.aspx"; 
     } 
    } 
} 
?> 

Ich versuche, auf die get_url-Methode im Controller unten zuzugreifen.

$params = [ 'mode' => 'TEST']; 
$dps = $this->load->library('DPS',$params);  
echo $dps->get_url(); 

Codeigniter wirft die folgende Fehlermeldung.

Fatal error: Call to undefined method CI_Loader::get_url()

ein Neuling, den ich bin fehlt wahrscheinlich irgendeine Art von OO Phantasie thingi. Ich kann es einfach nicht herausfinden. Jede Hilfe wird sehr geschätzt.

Vielen Dank im Voraus

Antwort

1

die Sie interessieren,

$this->load->library('dps',$params);  
echo $this->dps->get_url(); 
+0

Hallo, ich „Nachricht: Nicht definierte Variable: Modus“ Fehler, wenn ich versuche, dass –

+0

oops, sollten Sie kleine Buchstaben statt Kappen, beim Laden von Bibliothek machen, überprüfen Sie meine bearbeitete Antwort. @ElaBuwa – Viral

+0

Ich bekomme 2 Fehler. 1. Nachricht: Undefinierte Variable: Modus -> zeigte auf die Bibliothek. 2. Nachricht: Auf leere Eigenschaft kann nicht zugegriffen werden -> zeigt auf die Bibliothek. Alle Fehler werden auf die Zeile mit dem Hinweis "if ($ this -> $ mode ==" TEST ") {" –

0

Last Immer Bibliotheken in Codeigniter wie diese

$this->load->library('library_name'); 

Und Methode der Bibliothek aufrufen mit

$this->library_name->method_name(); 

DAMIT versuchen, so ...

Speichern Ihrer Bibliothek in application/libraries als Dps.php .Dann

$params = [ 'mode' => 'TEST']; 
$dps = $this->load->library('dps',$params);  
echo $this->dps->get_url(); 

und in Ihrer DPS Bibliothek. Korrigieren Sie es

public function get_url(){ 
     if($this->mode == "TEST"){ 
      return "https://uat.paymentexpress.com/pxaccess/pxpay.aspx"; 
     } elseif($this->mode == "LIVE"){ 
      return "https://sec.paymentexpress.com/pxaccess/pxpay.aspx"; 
     } 
    } 
Verwandte Themen