Я построил приложение PHP, которое использует пространства имен и автозагрузку PSR-0. При попытке реализовать библиотеку Stripe я обнаружил, что она не может загружать классы, потому что они не помещаются в имена. Есть ли способ не автозагрузки, если я вручную включил файлы?Stripe Payments в PHP с пространствами имен
// Get Stripe Library
require_once(App\App::$APP_PATH . "/Extensions/Stripe.php");
// Set Key
Stripe::setApiKey($stripe['secret_key']);
Установка ключа в примере завершается с фатальной ошибкой, потому что он думает Stripe
класса в моем пространстве имен текущего файла существует.
Я обнаружил, что если я добавлю строку use Stripe;
ниже моего объявления пространства имен, она будет работать, но затем завершится сбой в следующем классе в библиотеке Stripe.
Мне действительно нужно добавить строку Use Stripe, Stripe_Customer, Stripe_xyz...;
, чтобы она могла правильно загружать файлы (что более 25 файлов), или есть лучший способ?
[EDIT]
Пока я не слышал, есть ли лучший способ, я сделал это:
// Import Non-Namespaced Stripe Library
use Stripe, Stripe_Account, Stripe_ApiConnectionError, Stripe_ApiError, Stripe_ApiRequestor, Stripe_ApiResource, Stripe_AuthenticationError;
use Stripe_Card, Stripe_CardError, Stripe_Charge, Stripe_Coupon, Stripe_Customer, Stripe_Error, Stripe_Event, Stripe_InvalidRequestError;
use Stripe_Invoice, Stripe_InvoiceItem, Stripe_List, Stripe_Object, Stripe_Plan, Stripe_Recipient, Stripe_SingletonApiResource;
use Stripe_Stripe, Stripe_Token, Stripe_Transfer, Stripe_Util;
Как это лучше, чем то, что я делал? Вы предполагаете, что я в основном делаю то же самое, что и в случае с префиксом namespacing. Это действительно требует больше работы. –
Я только предлагал решение вашей проблемы: «Мне действительно нужно добавить« Использовать Stripe, Stripe_Customer, Stripe_xyz ...; 'line»? – rcambrj