2017-02-13 4 views
0

PHPを使いこなそう、& codeigniter。 私のCIバージョンは3.1.2です。codeigniterライブラリの関数にアクセスできません。

オブジェクト指向の原則を理解しようとして、私が構築したライブラリを読み込もうとしています。おそらく私は何かを逃しているでしょう。

以下は私のライブラリです。

<?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"; 
     } 
    } 
} 
?> 

下記のコントローラのget_urlメソッドにアクセスしようとしています。

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

Codeigniterが以下のエラーメッセージを表示しています。

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

私は多分、OOのファンシーなものを見逃しています。私はそれを理解できません。どんな助けでも大歓迎です。

は、これを試してみてください。この

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

のようなCodeIgniterの中

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

答えて

1

にありがとうそう このようにしてみてください...

Dps.php .Then

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

そして、あなたのDPSライブラリーのようにapplication/librariesで、あなたのライブラリーを保存します。それは

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"; 
     } 
    } 
+0

こんにちは、私が手修正して、「メッセージ:未定義の変数:モード」エラー私は、ライブラリをロードしながらおっと、あなたは、キャップの代わりに小さな文字を作るべき –

+0

ことをしてみてください、私の編集した答えを確認してください。 @ElaBuwa – Viral

+0

私は2エラーが発生します。 1.メッセージ:未定義変数:モード - >ライブラリをポイントします。 2.メッセージ:空のプロパティにアクセスできません - >ライブラリを指しています。すべてのエラーは "$ this-> $ mode ==" TEST "){" –

0

常に負荷ライブラリと

$this->library_name->method_name(); 

を使用して、ライブラリのメソッドの呼び出し、事前

関連する問題