【问题标题】:Using an existing API with codeigniter 2将现有 API 与 codeigniter 2 一起使用
【发布时间】:2016-04-19 12:22:02
【问题描述】:

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

现在,如果您要从一个普通的旧 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);
?>

所以,我在库文件夹中创建了一个新类,如果我要 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);
    }

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

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() ?>

但我收到错误致命错误:第 25 行的 C:\wamp\www\mpapp\application\libraries\MangoPayService.php 中找不到类“用户”(即 this->user = new user(); this行)

谁能解释如何正确设置此场景以及如何正确与 API 集成。

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

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

提前致谢

【问题讨论】:

    标签: php codeigniter class oop libraries


    【解决方案1】:

    MangoPay 需要 NaturalUser 类。您尝试实例化 user 类。

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

    $user = new MangoPay\UserNatural();
    

    【讨论】:

    • 我是 michiel,我可以吻你……或者至少给你买一三杯啤酒。非常感谢。你是钻石:D
    猜你喜欢
    • 2012-03-12
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多