web-dev-qa-db-ja.com

CodeIgniterに外部ライブラリを含めるにはどうすればよいですか?

私はcodeigniterを初めて使い、AmazonのFPSを自分のページに統合しようとしています。 Amazon FPSに対応する多数のライブラリとモデルがあり、適切な呼び出しを行うためにこれらを含める必要があります。

それらをCodeIgniterに含めるにはどうすればよいですか?

Amazonフォルダー全体をsystem/librariesディレクトリー内に配置してから、$ this-> load-> library( 'Amazon/FPS/Client');でライブラリーを含めてみました。ただし、Client.phpにrequire_once( 'Amazon/FPS/Interface.php')というステートメントが含まれているため、相対パスで問題が発生します。 ...同じフォルダにあります。

これを行うにはもっと良い方法が必要です-誰か助けてくれますか?

ありがとう!!

25
itwasthewind

クラスを直接含めてそれらを操作することを妨げるものは何もありませんが、バニラPHPセットアップで行います。これがPHPで機能する場合、CodeIgniterで機能します。

include(APPPATH.'libraries/Amazon/FPS/Interface.php');
34
Phil Sturgeon

A3mのPeng Kong http://code.google.com/p/a3m/ は、プラグインでそれを行うための素晴らしい方法を持っています:

例Twitter_pi.php

require_once(APPPATH.'modules/account/plugins/libraries/jmathai-Twitter-async/EpiCurl.php '); require_once(APPPATH.'modules/account/plugins/libraries/jmathai-Twitter-async/EpiOAuth.php '); require_once(APPPATH.'modules/account/plugins/libraries/jmathai-Twitter-async/EpiTwitter.php ');

/ *ファイルの終わりTwitter_pi.php/ /場所:./system/application/modules/account/plugins/Twitter_pi.php * /

コントローラ内

$ this-> load-> plugin( 'Twitter'); $ twitterObj = new EpiTwitter($ this-> config-> item( 'Twitter_consumer_key')、$ this-> config-> item( 'Twitter_consumer_secret'));

Codeigniter 2.0ではこれに1つの問題があり、プラグインはありません

3
Dave

ああそうですcodeigniterは素晴らしいですし、多くのライブラリもサポートしています。こちらをご覧ください http://www.haughin.com/code/ このようなAmazonサービスを含めます$this->load->library('s3');

2
streetparade

@ user3526 $ this-> load-> library( 'classname')は、ファイル(クラス)インクルードだけでなく、ロードされたクラスのインスタンスを作成することに注意してください。

0
bpile