There must be a simple way to require a class in Yii2, but I’ve yet to get it to run. I’m sure it’s a simple syntax issue.
In Yii 1 this ran fine:
require_once($_SERVER['DOCUMENT_ROOT'].'/customassets/deskbiz/stripe/Stripe.php');
Stripe::setApiKey($stripe_keys['stripe_private']);
Now that I’ve upgraded to Yii2 and installed Stripe via composer this:
require_once($_SERVER['DOCUMENT_ROOT'].'../vendor/stripe/stripe-php/lib/Stripe.php');
Stripe::setApiKey(Yii::$app->stripe->privateKey);
And this:
Yii::$classMap['Stripe'] = '../vendor/stripe/stripe-php/lib/Stripe.php';
Stripe::setApiKey(Yii::$app->stripe->privateKey);
Result in this error:
PHP Fatal Error – yii\base\ErrorException
Class 'app\controllers\Stripe' not found
Note: The Stripe Library is not PSR-4 standard and Composer has loaded all it’s files in the autoload_classmap.php file. How do I call the stripe classes from here:
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Stripe' => $vendorDir . '/stripe/stripe-php/lib/Stripe/Stripe.php',
'Stripe_Account' => $vendorDir . '/stripe/stripe-php/lib/Stripe/Account.php',
'Stripe_ApiConnectionError' => $vendorDir . '/stripe/stripe-php/lib/Stripe/ApiConnectionError.php',
// Edited to save forum space
);