【问题标题】:Getting a fatal error when autoloading a PHP class自动加载 PHP 类时出现致命错误
【发布时间】:2016-01-01 13:04:41
【问题描述】:

我正在尝试使用 Cartalyst,这是一个用于 Stripe 支付的综合 PHP 库。这是他们文档的链接:https://cartalyst.com/manual/stripe/1.0。这是我要开始工作的代码:

$stripe    = Stripe::make('your-stripe-api-key');
$customers = $stripe->customers()->all();

foreach ($customers['data'] as $customer) {
    var_dump($customer['email']);
}

当我运行上面的代码时(在我的真实代码中我插入了我的 api),我收到以下错误:Fatal error: Class 'Stripe' not found in on line 247。我已经对我知道要检查的所有内容进行了三次检查,但我似乎无法弄清楚问题所在。我已经“自动加载”了 Stripe Cartalyst 库和 Stripe 库。

另外,这是生成自动加载文件的作曲家代码:

{
    "require": {
        "cartalyst/stripe": "~1.0",
        "stripe/stripe-php": "3.*"
    }
}

【问题讨论】:

  • @PedroLobito 我该如何解决这个问题?我不能重命名这些包,否则它们不会下载。感谢您的帮助。
  • @PedroLobito 感谢您提供链接和示例代码。我已经阅读了链接,也尝试了您的示例代码,但是,我仍然收到相同的错误消息:Class 'Stripe' not found in

标签: php composer-php stripe-payments autoload


【解决方案1】:

需要命名空间\Stripe,试试:

 \Stripe\Stripe::setApiKey('your-stripe-api-key');

【讨论】:

  • 好的,我已经尝试了这两个sn-ps的代码。当我尝试\Stripe\Stripe::setApiKey('your-stripe-api-key'); 时,它删除了我收到的原始错误但是,我没有收到新错误:Call to a member function customers() on a non-object in 这是这行代码:$customers = $stripe->customers()->all();
  • 这是我尝试运行的确切代码的链接:cartalyst.com/manual/stripe/1.0#retrieve-all-customers-2
  • 这是一个新问题,请打开一个新问题 :)
  • @three3 尝试 var_dump($stripe);看看你有什么
  • 应该提出一个新问题,否则您的问题对未来的用户无效。对不起哑光。
猜你喜欢
  • 2013-10-18
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 2017-03-27
  • 1970-01-01
  • 2020-01-28
  • 2011-03-16
  • 2015-07-20
相关资源
最近更新 更多