我正在使用cakephp 2.6.7。我想将Authorize Api(http://www.authorize.net/)集成到我的cakephp应用程序中。我在我的localhost中由作曲家设置了api。它工作正常。这是文件结构:
这里的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 文件夹中:
我在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 :(得分:1)
我猜你的问题是特定于php别名而不是ANet sdk本身?
这是关于制作全局可访问别名的问题。似乎没有直截了当的做法。 Javadoc
相关: PHP Global namespace aliases
默认方法是定义......
use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;
...在您需要使用别名的每个文件中。 (正如您必须知道的,一旦自动加载,名称空间可以全局访问)
那应该让你的应用程序正常工作。