2015-03-28 4 views
0

У меня есть сайт электронной коммерции, который я создаю для клиента. Ранее этот сайт работал отлично, используя процедурные функции и завитки, чтобы звонить в 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

+0

напишите свой файл composer.json – alfallouji

+0

Прошу прощения, так долго. Мне пришлось работать вчера вечером. OP обновляется с помощью файла composer.json. Спасибо – Dave

+0

Глупый вопрос, но вы уверены, что 100% на самом деле у вас установлен Paypal api? Дважды проверьте, действительно ли файл существует. Вы также можете просто обновить «композиторское обновление» или «композитор dumpautoload» для восстановления автозагрузки. – alfallouji

ответ

0

Это оказалось простой синтаксической ошибкой. После того, как я сбросил и обновил композитор, он все еще не работал, поэтому я просто скопировал код из вики-установки. Это сработало, поэтому я сочинил свой код для моего, и мне не хватало обратную косую черту в моем обращении к вики. Спасибо за вашу помощь.