PHP自定义类、PayPal API、Mailgun API、Easypost API。他们能一起工作吗

PHP自定义类、PayPal API、Mailgun API、Easypost API。他们能一起工作吗,php,pdo,paypal,mailgun,easypost,Php,Pdo,Paypal,Mailgun,Easypost,我有一个电子商务网站,我正在为客户建设。该网站以前使用过程函数和curl调用Paypal,工作得非常好。我下载了Mailgun和Easypost API手册并手动安装。接下来,我想更新该站点以利用PDO和OOP。我把地基铺设好了。现在是时候开始调用各种API了。我使用composer安装了所有东西,目前运行的是双自动加载程序。作曲家自动加载,然后在其下自定义自动加载以加载我的类。现在,当我调用PayPal API时,我得到以下错误: Fatal error: Class 'Paypal\Rest

我有一个电子商务网站,我正在为客户建设。该网站以前使用过程函数和curl调用Paypal,工作得非常好。我下载了Mailgun和Easypost API手册并手动安装。接下来,我想更新该站点以利用PDO和OOP。我把地基铺设好了。现在是时候开始调用各种API了。我使用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时缺少了一个反斜杠。不过,感谢您的帮助。

发布您的composer.json文件。抱歉,花了这么长时间。我昨晚不得不工作。OP使用composer.json文件更新。谢谢你这个愚蠢的问题,但是你100%确定你已经安装了Paypal api吗?通过验证文件是否确实存在来进行双重检查。您也可以重新执行composer更新或composer dumpautoload来重新生成自动加载。这是我的故障排除过程中的第一步。很明显,它不起作用。我现在不能测试这个,但你的建议将鼓励我,希望,直到明天晚上我有时间继续排除故障。我可以通过将我的classes文件夹和vender与composer autoloader放在同一个文件夹中,然后在init.php文件中需要autoloader来解决这个问题吗?