Устройство для кодирования - Как загрузить библиотеку stripe-php в проект?


Я использую php-библиотеку Stripe. Ссылка DL: https://code.stripe.com/stripe-php-latest.zip

Я пробовал метод загрузки библиотеки codeigniters, но все равно ошибка сервера. Я попытался поместить библиотеку в application/libraries, а затем загрузить свою библиотеку с $this->load->libraries('Stripe.php');

Я изменил все заглавные буквы на строчные, но все равно получаю ошибку.

Ниже приведен код Stripe.php

<?php

// Tested on PHP 5.2, 5.3

// This snippet (and some of the curl code) due to the Facebook SDK.
if (!function_exists('curl_init')) {
  throw new Exception('Stripe needs the CURL PHP extension.');
}
if (!function_exists('json_decode')) {
  throw new Exception('Stripe needs the JSON PHP extension.');
}
if (!function_exists('mb_detect_encoding')) {
  throw new Exception('Stripe needs the Multibyte String PHP extension.');
}

// Stripe singleton
require(dirname(__FILE__) . '/Stripe/Stripe.php');

// Utilities
require(dirname(__FILE__) . '/Stripe/Util.php');
require(dirname(__FILE__) . '/Stripe/Util/Set.php');

// Errors
require(dirname(__FILE__) . '/Stripe/Error.php');
require(dirname(__FILE__) . '/Stripe/ApiError.php');
require(dirname(__FILE__) . '/Stripe/ApiConnectionError.php');
require(dirname(__FILE__) . '/Stripe/AuthenticationError.php');
require(dirname(__FILE__) . '/Stripe/CardError.php');
require(dirname(__FILE__) . '/Stripe/InvalidRequestError.php');
require(dirname(__FILE__) . '/Stripe/RateLimitError.php');

// Plumbing
require(dirname(__FILE__) . '/Stripe/Object.php');
require(dirname(__FILE__) . '/Stripe/ApiRequestor.php');
require(dirname(__FILE__) . '/Stripe/ApiResource.php');
require(dirname(__FILE__) . '/Stripe/SingletonApiResource.php');
require(dirname(__FILE__) . '/Stripe/AttachedObject.php');
require(dirname(__FILE__) . '/Stripe/List.php');

// Stripe API Resources
require(dirname(__FILE__) . '/Stripe/Account.php');
require(dirname(__FILE__) . '/Stripe/Card.php');
require(dirname(__FILE__) . '/Stripe/Balance.php');
require(dirname(__FILE__) . '/Stripe/BalanceTransaction.php');
require(dirname(__FILE__) . '/Stripe/Charge.php');
require(dirname(__FILE__) . '/Stripe/Customer.php');
require(dirname(__FILE__) . '/Stripe/Invoice.php');
require(dirname(__FILE__) . '/Stripe/InvoiceItem.php');
require(dirname(__FILE__) . '/Stripe/Plan.php');
require(dirname(__FILE__) . '/Stripe/Subscription.php');
require(dirname(__FILE__) . '/Stripe/Token.php');
require(dirname(__FILE__) . '/Stripe/Coupon.php');
require(dirname(__FILE__) . '/Stripe/Event.php');
require(dirname(__FILE__) . '/Stripe/Transfer.php');
require(dirname(__FILE__) . '/Stripe/Recipient.php');
require(dirname(__FILE__) . '/Stripe/ApplicationFee.php');

Теперь как добавить этот файл в codeigniter. Все остальные файлы, включенные в этот файл находится в подкаталоге Stripe

Author: geek2geek, 2014-05-27

1 answers

При загрузке библиотеки первым параметром является имя класса, а не имя файла. Если файл содержал класс с именем Stripe, то вы могли бы загрузить его, вызвав:

$this->load->libraries('stripe');

Примечание, если файл находится в подкаталоге, то вам потребуется указать путь относительно каталога библиотеки.

Если файл содержит не класс, а набор функций, то он считается вспомогательным, а не библиотекой. Вы можете загрузить помощника, вызвав это функция, передающая имя файла без его расширения в качестве первого параметра:

$this->load->helper('file_name')

Глядя на библиотеку, которую вы хотите использовать, вам, вероятно, потребуется адаптировать ее к форме библиотеки CodeIgniter.

Если вы не хотите адаптировать его для работы в качестве библиотеки CodeIgniter, ничто не мешает вам включить его с помощью PHP, а не загружать как библиотеку:

require_once(APPPATH.'libraries/Stripe/lib/Stripe.php'); // Your path may be different
 5
Author: jleft, 2014-05-27 11:55:13