2016-04-19 4 views
0

私は自分自身で研究したいと思っていますが、多くの質問をしませんが、これは私を困惑させます。 私は既存のCodeigniter2(CI)アプリケーションを持っており、既存のAPIを支払いシステム(MangoPay)に統合しようとしています。ライブラリとして追加し、autoload.phpにプリロードしました。エラーなしでインクルードされています。 私の質問は、クラス構造を設定し、私のアプリケーションからクラスを扱うことです。あなたは、昔ながらのPHPファイルから、この作業を取得した場合今codeigniter 2で既存のAPIを使用する

<?php 
require_once('../vendor/autoload.php'); 
$mangoPayApi = new MangoPay\MangoPayApi(); 
$mangoPayApi->Config->ClientId = 'user_id'; 
$mangoPayApi->Config->ClientPassword = 'password_here'; 
$mangoPayApi->Config->TemporaryFolder = 'c:\\wamp\\tmp/'; 

$User = new MangoPay\UserNatural(); 
$User->Email = "[email protected]"; 
$User->FirstName = "Bob"; 
$User->LastName = "Briant"; 
$User->Birthday = 121271; 
$User->Nationality = "FR"; 
$User->CountryOfResidence = "ZA"; 
$result = $mangoPayApi->Users->Create($User); 
var_dump($result); 
?> 

のコードは次のようになります(そしてところでそれはプレーンなPHPファイルから無問題で私のマシン上で動作します)したがって、私はライブラリのフォルダに新しいクラスを作成しました。もし以下のようにmangoPayApiの内容をvar_dump()していれば、動作していることを証明するすべての種類のものがスローされます。

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 
require_once('/vendor/autoload.php'); 
class MangoPayService { 

    private $mangoPayApi; 
private $user; 

    public function __construct() 
    { 
     $this->mangoPayApi = new MangoPay\MangoPayApi(); 
     $this->mangoPayApi->Config->ClientId = 'user_id_here'; 
     $this->mangoPayApi->Config->ClientPassword = 'password_here'; 
     $this->mangoPayApi->Config->TemporaryFolder = 'c:\\wamp\\tmp/';  
     //var_dump($mangoPayApi); 
    } 

私はちょうどこの

function add_user(){ 
     //CREATE NATURAL USER 

      $this->user = new user(); 
      $user->Email = '[email protected]'; 
      $user->FirstName = "John"; 
      $user->LastName = "Smith"; 
      $user->Birthday = 121271; 
      $user->Nationality = "FR"; 
      $user->CountryOfResidence = "ZA"; 

     $add_userResult = $this->mangoPayApi->Users->Create($user); 
     var_dump($add_userResult); 
    } 

のようなクラスのメソッドを書くことができると思ったし、自分のアプリケーションでそれをアクセスも同様

<?php echo $this->mangopayservice->add_user() ?> 

しかし、私はエラーが致命的なエラーを取得:クラス」をC:\ wamp \ www \ mpapp \ application \ libraries \ MangoPayService.phpの25行目にあります(this-> user =新しいユーザー();この行)

誰でもこのシナリオを正しく設定する方法と、APIと正しく統合する方法を説明できますか?

ページが開かれたときに単にユーザーを作成することができれば、そのソリューションをロードマップとして使用することができます。

この作業を行う方法を理解したら、すべての統合コードを記述します。事前に

感謝は

答えて

1

MangoPayはNaturalUserクラスが必要です。 userクラスをインスタンス化しようとします。

だけでadd_user機能のあなたの最初の行を置き換える:私はミシェルだ、私は...あなたにキスか、少なくともあなたにビールや3を買うことができる

$user = new MangoPay\UserNatural(); 
+0

。どうもありがとうございます。あなたはダイヤモンドです:D –

関連する問題