Codeigniter使用第三方类

问题描述:

所以我想用我的项目的第三方库。该库调用“blockchainApi”并存储在application/third_party/ dir中。Codeigniter使用第三方类

directory

所以在我的模型我只是用:

require_once APPPATH . '/third_party/blockchainApi/Blockchain.php'; 
$Blockchain = new \Blockchain\Blockchain(PAYMENTS_BTC_API_CODE); 

及其负载正常,但是当我尝试从这个类实现方法,它返回我的错误,方法:

$response = $Blockchain->Receive->generate($data['wallet'], $data['callback_url']); 

错误:

Fatal error: Class 'Blockchain\Create\Create' not found in <..>blockchainApi/Blockchain.php on line 65

所以问题是:

problem

这不工作...所以如何解决呢?

+0

为什么不你使用作曲家自动加载器? – gmponos

+0

我不知道如何将它与codeigniter一起使用 –

我相信这个指南对你来说是最好的。你将有机会使用作曲家。

https://philsturgeon.uk/blog/2012/05/composer-with-codeigniter/

这是发生由于PSR-4标准,并没有用于命名空间

自动加载磁带机

编辑:

从我这里看到(link)您可能需要作曲家。

最好是用linux找到一台机器。在终端移动到一个空文件夹运行以下命令:

curl -sS https://getcomposer.org/installer | php 

然后,你将有一个composer.phar文件的文件夹内。

之后,你创建一个composer.json文件里面你写:

{ 
     "name": "project", 
     "description": "", 
     "license": "MIT", 
     "authors" 
     "require": { 
      "php" : ">=5.3.0", 
      "blockchain/blockchain" : "1.*" 
     }, 
     "require-dev": { 

     } 
} 

然后运行

composer.phar update 

然后上传你内心的项目文件夹

- vendor (folder) 
- composer.lock 
- composer.json 

里面你指数.php包含自动加载器

include_once './vendor/autoload.php' 

可选择从任何地方通过简单地键入作曲家副本composer.phar到本地斌

cp composer.phar /usr/local/bin/composer 

然后,而不是composer.phar你可以做运行作曲:

composer update 
+0

该项目托管在没有SSH访问的共享主机上。是否可以在共享主机中安装composer? –

+0

然后你可能需要做你自己的实现http://www.php-fig.org/psr/psr-4/examples/ – gmponos

+1

@ArnasPečelis - 没有什么说你需要在主机上运行作曲家。您可以在本地轻松安装库,然后将整个供应商文件夹上传到您的Web主机。 –