Коммерческая полоса и версия библиотеки 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 модуль. Однако классы все еще не загружены. У кого-нибудь есть представление о том, что я делаю неправильно?

Author: angms.bh, 2015-08-14

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

 1
Author: wilburunion, 2015-08-15 01:46:46

Мой код работает выше. Однако при доступе к классам он должен быть в форме \Stripe\Stripe class::метод, а не Stripe_Stripeclass::метод. Этот код использует init.php это упомянуто в комментарии stackin_hackin выше.

 0
Author: angms.bh, 2015-08-18 14:28:52