【发布时间】:2014-06-12 07:24:57
【问题描述】:
我不确定问题的标题是否正是我想问的。
我想在我的 Yii 应用程序中使用 Authorize.net。 Authorize.net 有一个由多个类组成的 API,为了使 API 工作,所有的类都应该被自动加载。在它的 SDK 中有一个名为 autoload.php 的文件可以做到这一点。请注意 autoload.php 不是一个类,它只包含一个函数。这是它的代码:
spl_autoload_register(function($className) {
static $classMap;
if (!isset($classMap)) {
$classMap = require __DIR__ . DIRECTORY_SEPARATOR . 'classmap.php';
}
if (isset($classMap[$className])) {
include $classMap[$className];
}
});
通过在我的代码中要求这个文件,我可以成功地使用 API。喜欢:
require 'sdk-php-master/autoload.php
//I can make successful API calls after requiring autoload.php to be loaded.
但现在的问题是我想让相同的 API 在 Yii 中工作。我将 SDK 文件夹放在扩展目录中。现在我需要设置扩展路径才能在我的应用程序中使用它。现在的问题是我应该在 config.php 中为类名设置什么才能使其工作?
我试过这个:
'authorize' => array(
'class' => 'application.extensions.authorize.autoload',
),
但这不起作用,它不应该因为 autoload.php 不是一个类。所有应该自动加载的必要类都放在application.extensions.authorize.lib 目录中。我应该如何在 Yii 中自动加载所有这些,因为据我所知,我们在 config.php 中只能有一个条目用于类。
这里是 SDK 及其目录结构的链接。 Authorize.net SDK
【问题讨论】: