У меня есть сайт электронной коммерции, который я создаю для клиента. Ранее этот сайт работал отлично, используя процедурные функции и завитки, чтобы звонить в Paypal. Я загружаю руководство по Mailgun и Easypost API и устанавливаю его вручную. Выложите дорогу, я хотел обновить сайт, чтобы использовать PDO & OOP. Я проделал справедливую работу по закладыванию фундамента. Теперь пришло время начать звонить по различным API'. Я установил все, используя композитор, и в настоящее время запускаю двойной автозагрузчик. Композитор автоматически загружает, а затем под него пользовательскую автозагрузку для загрузки моих классов. Теперь, когда я звоню на API PayPal, я получаю следующее сообщение об ошибке:PHP Custom Class, API PayPal, API Mailgun, API Easypost. Могут ли они работать вместе
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"
}
}
Любой и вся помощь приветствуется. Если вам нравится писать код, GREAT, но это не то, о чем я прошу. Это моя работа, но помощь в переработке, чтобы заставить ее работать, была бы потрясающей.
Thanks
напишите свой файл composer.json – alfallouji
Прошу прощения, так долго. Мне пришлось работать вчера вечером. OP обновляется с помощью файла composer.json. Спасибо – Dave
Глупый вопрос, но вы уверены, что 100% на самом деле у вас установлен Paypal api? Дважды проверьте, действительно ли файл существует. Вы также можете просто обновить «композиторское обновление» или «композитор dumpautoload» для восстановления автозагрузки. – alfallouji