Устройство для кодирования - Как загрузить библиотеку 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
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