名前空間と PSR-0 自動読み込みを使用する PHP アプリケーションを作成しました。Stripeライブラリを実装しようとしているときに、クラスが名前空間化されていないため、クラスをロードできないように見えることがわかりました。ファイルを手動でインクルードした場合、オートロードしない方法はありますか?
// 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 個以上のファイルがあります)、それとももっと良い方法がありますか?
[編集]
より良い方法があるかどうかを聞くまで、私はこれを行いました:
// 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;