2015-11-30 55 views
0

我正在使用cakephp 2.6.7。我想将Authorize Api(http://www.authorize.net/)集成到我的cakephp应用程序中。我在本地主机中通过作曲家设置了api。它工作正常。这里是文件结构: enter image description here如何在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的文件夹: 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'); 
    } 

} 

?> 

感谢您的时间。

+0

你能分享你得到的这个错误吗? – KiKMak

回答

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; 

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

这应该有你的应用程序工作。