我有一个电子商务网站,我正在为一个客户构建。这个网站以前使用过程函数和curl来调用Paypal,效果非常好。我下载Mailgun和Easypost API手册并手动安装。在路上,我想更新网站以利用PDO&OOP。我在打基础方面做得很好。现在是时候开始调用各种API了。我使用composer安装了所有内容,目前运行双自动加载器。composer自动加载,然后在它下面进行自定义自动加载来加载我的类。现在,当我调用PayPal API时,我得到以下错误:
Fatal error: Class 'Paypal'Rest'ApiContext' not found in /var/www/html/myla-dev/shoppingCartFinalize.php on line 18
我认为现在发生的事情是我的自动加载器试图加载这个,而不是作曲家的自动加载器。自动加载发生在以下位置:
init.php
require __DIR__.'/core/functions/general.php';
function autoLoader ($class) {
if (file_exists(__DIR__.'/core/classes/'.$class.'.php')) {
require __DIR__.'/core/classes/'.$class.'.php';
}
}
spl_autoload_register('autoLoader');
require __DIR__.'/vendor/autoload.php';
该文件位于项目根目录中,然后需要位于每个文件的顶部。
文件结构
core
--classes
----Alert.php
----....
--functions
----general.php
vendor
--composer
--easypost
--guzzle
--mailgun
--symfony
--paypal
--autoload.php
index.php
init.php
...
composer.json
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/EasyPost/easypost-php"
}
],
"require": {
"php": ">=5.3.0",
"easypost/easypost-php": "dev-master",
"ext-curl": "*",
"ext-json": "*",
"paypal/rest-api-sdk-php":"*",
"mailgun/mailgun-php": "dev-master"
}
}
感谢您的任何协助。如果你想写代码,那太好了,但这不是我想要的。这是我的工作,但帮助返工使其发挥作用将是很棒的。
感谢
它最终是一个简单的语法错误。在我转储并更新composer之后,它仍然无法工作,所以我只是从安装wiki中复制了代码。它起作用了,所以我把他们的代码编写成我的代码,我在调用wiki时缺少了一个反斜杠。谢谢你的帮助。