2015-08-28 56 views
0

所以我想用我的項目的第三方庫。該庫調用「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一起使用 –

回答

1

我相信這個指南對你來說是最好的。你將有機會使用作曲家。

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主機。 –