如何自动将所有Stripe类导入CakePHP

时间:2015-02-20 15:55:58

标签: php cakephp cakephp-2.0 stripe-payments

如何将所有必需的类从Stripe PHP SDK(2.1.0)导入CakePHP(2.6.1)?

我为Stripe添加了一个子模块,并将其克隆到app / Vendor / Stripe

我的代码如下所示:

<?php

App::uses('Stripe', 'Vendor/Stripe/lib');

// Secret API Key for Stripe
\Stripe\Stripe::setApiKey('sk_test_xxxxxxxxxxxxxxxxxxx');


class BillingController extends AppController {

// My methods

}


?>

我得到了:

Fatal Error
Error: Class 'Stripe\Stripe' not found  
File: /Projects/Web/admin.example.io/app/Controller/BillingController.php   
Line: 6

2 个答案:

答案 0 :(得分:1)

您应该在使用供应商时使用import(),而不是uses()

App::import('Vendor', 'Stripe', array('file' => 'Stripe' . DS .'lib' . DS . 'Stripe.php'));

此处DS对于/是常量。

您应该遵循cakephp命名约定,例如在使用Vendor包时使用import()Must。使用其他类(如控制器)时,您可以使用uses(),但在您的情况下不能使用。

已更新:

现在步骤,您需要关注,因为它更具体针对您的问题:

1.安装使用作曲家。

2.现在使用

导入已安装的软件包/供应商

App::import('Vendor', 'autoload', array('file' => 'Stripe' . DS .'vendor' . DS . 'autoload.php'));

答案 1 :(得分:0)

您应该包含init.php文件。

压缩文件的目录结构如下:

stripe-php - libs/ - data/ - test/ - init.php

不要将PHP文件包含在libs文件夹中,只需包含init.php。