How do I include external Libraries in CodeIgniter

2019-01-23 12:09发布

问题:

I'm new to codeigniter, and I'm trying to integrate amazon's FPS into my page. There are a bunch of libraries and models that go with Amazon FPS, which I would need included to make the appropriate calls.

How do I include them in CodeIgniter?

I tried placing the entire Amazon folder inside the system/libraries directory, and then tried including libraries with $this->load->library( 'Amazon/FPS/Client' ); However, I run into problems with the relative path there, because Client.php contains the statement require_once ('Amazon/FPS/Interface.php'); ... which is in the same folder.

There has to be a better way to do all this - can anyone please help?

Thanks!!

回答1:

There is nothing stopping you from directly including classes and working with them however you would in a vanilla PHP setup. If it works in PHP it will work in CodeIgniter.

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


回答2:

Peng Kong of a3m http://code.google.com/p/a3m/ has a nice way of doing it with plugins:

Example 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');

/* End of file twitter_pi.php / / Location: ./system/application/modules/account/plugins/twitter_pi.php */

In controller

$this->load->plugin('twitter'); $twitterObj = new EpiTwitter($this->config->item('twitter_consumer_key'), $this->config->item('twitter_consumer_secret'));

There is one problem with this in Codeigniter 2.0 there are no plugins



回答3:

Oh yes codeigniter is nice and has also support for many librarys please have a look here http://www.haughin.com/code/ Include the Amazon service like this $this->load->library('s3');



回答4:

@user3526 Note that $this->load->library('classname') will create an instance of that loaded class, not just file (class) include.