2016-09-22 28 views
0

问题故障排除作曲:类不使用CodeIgniter 3

我试图使用PayPal支付REST SDK需要PayPal的磁带库可以通过作曲家被自动加载自动加载。我经历的步骤去实现作曲CI中3,但是当我去我的控制器,我在哪里自动加载的PayPal\Rest\ApiContext类我收到以下错误:

Fatal error: Class 'PayPal\Rest\ApiContext' not found in C:\xampp\htdocs\php\toucan-talk\App\modules\paypal\controllers\Paypal.php on line 15

我有什么到目前为止

这是我的composer.json文件

{ 
    "require": { 
     "paypal/rest-api-sdk-php" : "*" 
    } 
} 

我在config.php文件设置$config['composer_autoload'] = TRUE;

这里是我的控制器

<?php 

use PayPal\Rest\ApiContext; 

class Paypal extends MX_Controller 
{ 
    public function __construct() 
    { 
     $api = new ApiContext(

     ); 
     var_dump($api); 
    } 

} 

问题

如何解决作曲家和自动加载,这样我可以找出其中的自动加载过程失败。

回答

3

那么这里是解决方案:在config.php而不是设置...

$config['composer_autoload'] = TRUE; 

你需要把

$config['composer_autoload'] = FCPATH . 'vendor/autoload.php'; 

但我仍然不能确定为什么这个工作,而不是原始文件建议。真的很头疼。

0

您可以在命令提示符下使用composer dump-autoload。这将重新生成包含在项目中的文件列表。

+0

嗨,所以我做到了,它仍然没有工作,谢谢你的建议。 –

+0

该列表中是否包含PayPal包? – Gentle153

+0

不,它只是返回'生成autoload文件',然后返回到提示符。提前道歉不提,我对命令行非常陌生,因此是个问题。 –

1

我知道这是一个很老的问题,但尽管如此,我希望把我的输入,基本上笨3专门3.1.6有问题,当你做

$config['composer_autload'] = TRUE: 

那么它将无法工作并没有按't自动加载来自供应商文件夹的文件,现在有两种可能的解决方案已经被“Jethro Hazelhurst”提及。

另一个简单的解决方案是,复制应用程序文件夹中的composer.json,然后从应用程序文件夹运行作曲家安装,或者将供应商文件夹与composer.json和composer.lock一起移动到应用程序文件夹,然后该TRUE值将好好工作。

谢谢。