Welcome Guest, Not a member yet? Register   Sign In
load variables in config file
#1

[eluser]Aaron L.[/eluser]
Hi There,

I am trying to integrate a 3rd party API with CI and so far everything is going pretty well. There is one hang-up that I am running into however:

In order to run the API, I have to send it some configuration settings. The api is accessed from multiple controllers, and so I have decided to create a separate file in /config which contains these variables and then include it in these controllers.

Here is an example of what I have so far:

/application/config/api_config.php:
Code:
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

    $config['ID'] = '256562';
    $config['keysDirectory'] ="/var/www/html/keys";
    $config['sendToProduction']="false";
    $config['enableLog']="true";

?>

Here is a function within controller which uses (includes) the variables above:
/application/controllers/apicontroller.php

Code:
function something()
{
   //load the config file
   $this->load->config('cybersource_config');

   $request['something'] = "test123";
   $reply = array();
  
   //send info including config array from config file to the api
   run_transaction( $config, $request, $reply );

   redirect('home');

}

The problem I am having is that it seems like the $config variables are not being passed along to my controller. Any ideas?

Aaron
#2

[eluser]Aaron L.[/eluser]
Is using PHP's require() function OK?
#3

[eluser]Bulk[/eluser]
You're not quite using the config system in the correct way... Firstly, if your config file is indeed named api_config.php you'll need a line similar to:

Code:
$this->load->config('api_config');

Then to access values from any config file (the main one, or yours) you would use this syntax:

Code:
$this->config->item('sendToProduction')

Be sure to read the user guide for more information.
#4

[eluser]Aaron L.[/eluser]
Thanks for your help, Bulk. I will give it a shot this way.




Theme © iAndrew 2016 - Forum software by © MyBB