【问题标题】:How to use authorize API in cakephp?如何在 cakephp 中使用授权 API?
【发布时间】:2015-11-30 06:35:01
【问题描述】:

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

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

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

现在我将授权文件夹放在 cakephp 的 Vendor 文件夹中:

我在 paymentController.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');
    }

}

?> 

感谢您的宝贵时间。

【问题讨论】:

  • 你能分享一下你遇到的错误吗?

标签: cakephp authorize.net


【解决方案1】:

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

这是一个关于使全局可访问的别名的问题。似乎没有直接的方法可以做到这一点。 PHP Global namespace aliases

相关: http://grokbase.com/t/php/php-general/10a38hape9/is-it-possible-to-create-a-global-namespace-alias


默认方法是定义...

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

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

这应该让您的应用程序正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2016-08-02
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多