如何在cakephp中使用授权API?

时间:2015-11-30 06:35:01

标签: cakephp authorize.net

我正在使用cakephp 2.6.7。我想将Authorize Api(http://www.authorize.net/)集成到我的cakephp应用程序中。我在我的localhost中由作曲家设置了api。它工作正常。这是文件结构: enter image description here

这里的charge-credit-card.php是最后运行的脚本。在这个文件中,我包含了一些必备文件,如下所示:

require 'authorize/autoload.php';
use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;

现在我将authorize文件夹放在cakephp的 Vendor 文件夹中: enter image description here

我在paymentsController.php中添加autoload.php,如下所示:

require_once(APP . 'Vendor' . DS . 'authorize' . DS . 'autoload.php');

但我对此感到困惑

use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;

替换。我应该如何在cakephp控制器中替换这两行?这是我的完整代码:

<?php

require_once(APP . 'Vendor' . DS . 'authorize' . DS . 'autoload.php');

use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;

define("AUTHORIZENET_LOG_FILE", "phplog");

class PaymentsController extends AppController {

    var $layout = 'admin';

    // public $components = array('Auth');
    public function isAuthorized($user = null) {
        $sidebar = $user['Role']['name'];
        $this->set(compact('sidebar'));
        return true;
    }

    public function beforeFilter() {
        parent::beforeFilter();
        // Allow users to register and logout.
        $this->Auth->allow('process');
    }

}

?> 

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

我猜你的问题是特定于php别名而不是ANet sdk本身?

这是关于制作全局可访问别名的问题。似乎没有直截了当的做法。 Javadoc

相关: PHP Global namespace aliases

默认方法是定义......

use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;

...在您需要使用别名的每个文件中。 (正如您必须知道的,一旦自动加载,名称空间可以全局访问)

那应该让你的应用程序正常工作。