CodeIgniter - 为什么库在视图中加载正常但在控制器中没有加载

时间:2013-07-22 14:23:51

标签: php codeigniter

我正在使用Stripe的php库。 DL链接:https://code.stripe.com/stripe-php-latest.zip

我在视图中包含了这样的库: require_once(APPPATH.'libraries/stripe/lib/stripe.php');

当我在视图中执行此操作时,一切正常,但如果我尝试在控制器中执行此操作,则会出现服务器错误。为什么呢?

我已经尝试过codeigniters加载库方法,但仍然是服务器错误。我已将所有大写字母改为小写字母,仍然是错误。

4 个答案:

答案 0 :(得分:1)

加载套餐:

$this->load->add_package_path(APPPATH.'third_party/stripe/');
$this->load->library('stripe');

文档:应用程序“包”部分

http://ellislab.com/codeigniter/user-guide/libraries/loader.html

答案 1 :(得分:1)

如果您使用third_party库,例如Facebook PHP SDK,请使用以下代码:

$this->_obj->load->add_package_path(APPPATH.'third_party/facebook/');
$this->_obj->load->library('facebook', $config);    
$this->_obj->load->remove_package_path(APPPATH.'third_party/facebook/');

将此库的文件放在 / third_party / facebook / libraries / 文件夹中。

注意:将文件直接放在'/ facebook /'而不是'/ libraries /'中是常见的错误(在文档中也没有提到,太糟糕了)。

答案 2 :(得分:0)

您可以通过添加为codeigniter helper来使用条带本机库。

第1步:将条带包放入帮助程序目录

第2步:将init.php重命名为init_helper.php

步骤3:将帮助程序加载到控制器中

$this->load->helper('stripe/init');

第4步:调用条带库

try 
{
    // set api key
    \Stripe\Stripe::setApiKey('YOUR_SECRET_STRIPE_API_KEY');

    // create customer
    $customer_detail = \Stripe\customer::create(array(
                        'email'    => 'customer_email@testdomain.com'
                    ));

    echo $customer_detail->id;
}
catch (Exception $e) 
{
    $error = $e->getMessage();
    echo $error;
}

答案 3 :(得分:-1)

尝试将您的库放在应用程序/库上,然后加载您的库 $这 - >负载>库( 'Stripe.php');