Коммерческая полоса и версия библиотеки 2.0 с пространством имен?
Я работаю над интеграцией с Commerce Stripe и новой функцией подключения. Однако для этого требуется версия библиотеки 2.0, которую можно найти здесь https://github.com/stripe/stripe-php/releases.
Я скачал исходный код для этого и поместил его в свой каталог stripe-php. Библиотека stripe-php имеет пространство имен Stripe. Я определил свой hook_libraries_info
следующим образом
function bh_test_namespace_libraries_info() {
return array(
'stripe-php' => array(
'name' => 'Stripe API Client Library for PHP',
'vendor url' => 'https://stripe.com/',
'download url' => 'https://github.com/stripe/stripe-php',
'dependencies' => array(),
'version arguments' => array(
'file' => 'VERSION',
'pattern' => '/(2.\d+(\.\d+)?)/',
),
'files' => array(
'php' => array(
'init.php',
),
),
'xautoload' => function($api) {
$api->namespaceRoot('Stripe', 'lib');
},
),
);
}
Я установил xautoload модуль. Однако классы все еще не загружены. У кого-нибудь есть представление о том, что я делаю неправильно?
2 answers
Загрузите 2.x версию uc_stripe шлюза для Stripe - в ней есть код, который работает (https://www.drupal.org/project/uc_stripe ) как вы ищете - библиотека версии 2.0 использует \Stripe\Действие, которое нужно предпринять::вместо Stripe_Action, которое нужно предпринять::Stripe Connect, однако, это совершенно другая проблема, требующая потока OAuth2 и JSON, работающего с веб-крючками Stripe, чтобы он работал изначально, а ЗАТЕМ можно использовать API для остальных проблем для nmaintainance
Мой код работает выше. Однако при доступе к классам он должен быть в форме \Stripe\Stripe class::метод, а не Stripe_Stripeclass::метод. Этот код использует init.php это упомянуто в комментарии stackin_hackin выше.