使用现有的 API 和 codeigniter 2

Using an existing API with codeigniter 2

我不问很多问题,因为我喜欢自己研究,但这让我很困惑。 我有一个现有的 Codeigniter2(CI) 应用程序,我正在尝试为支付系统 (MangoPay) 集成一个现有的 API。我已将它添加为一个库,并将其预加载到 autoload.php 中,它被包含在没有错误中。 我的问题是关于设置 class 结构并从我的应用程序中寻址 class。

现在,如果你要从一个普通的旧 PHP 文件中运行它,代码将如下所示(顺便说一句,它在我的机器上运行,从一个普通的 php 文件中没有问题文件)

<?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 = "test_natural@testmangopay.com";
$User->FirstName = "Bob";
$User->LastName = "Briant";
$User->Birthday = 121271;
$User->Nationality = "FR";
$User->CountryOfResidence = "ZA";
$result = $mangoPayApi->Users->Create($User);
var_dump($result);
?>

所以,我在库文件夹中创建了一个新的 class,如果我要 var_dump() 如下所示的 mangoPayApi 的内容,它会抛出各种证明它的东西正在工作(即没有 PHP 错误)。

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

我以为我可以像这样在 class 中写一个方法

function add_user(){
        //CREATE NATURAL USER

            $this->user = new user();
            $user->Email = 'test_natural@testmangopay.com';
            $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() ?>

但我收到错误致命错误:Class 'user' not found in C:\wamp\www\mpapp\application\libraries\MangoPayService.php on line 25 (which is this->user = new user(); 这一行)

任何人都可以解释如何正确设置此方案以及如何与 API 正确集成。

如果我可以在打开页面时简单地创建一个用户,我想我可以使用该解决方案作为路线图从那里开始工作。

一旦我了解如何使它工作,我将编写所有集成代码。

提前致谢

MangoPay 需要 NaturalUser class。您尝试实例化一个 user class。

只需将 add_user 函数的第一行替换为:

$user = new MangoPay\UserNatural();