Welcome Guest, Not a member yet? Register   Sign In
Save Codeigniter config data in MySql database
#1

(This post was last modified: 02-22-2018, 08:54 AM by SirTom.)

I am looking for a more elegant way to save Codeigniter config data in a MySql database.

This is my Way:

./application/hooks/load_config.php
PHP Code:
function load_config() {
 
   $CI =& get_instance();
 
   foreach($CI->siteconfig->get_config()->result() as $site_config) {
 
       $CI->config->set_item($site_config->key$site_config->value);
 
   }


./application/config/hooks.php
PHP Code:
$hook['post_controller_constructor'] = array(
            
'class'    => '',
            
'function' => 'load_config',
            
'filename' => 'my_config.php',
            
'filepath' => 'hooks'
        
); 

./application/config/config.php
PHP Code:
$config['enable_hooks'] = TRUE

./application/models/Siteconfig.php
PHP Code:
public function get_config() {
    return 
$this->db->get('config')->resulr_array();
}

public function 
set_config($key$value) {
    $config_data = array('key' => $key'value' => serialize($value));
    return $this->db->update('config'$config_data); 


The config-items are normaly stored in an config-array like this:
PHP Code:
$config["default"] = array('key' => 'value'); 

If I call get_config(), I get an array with another strukture:
PHP Code:
Array
(
   [
0] => Array(
                 [
key]   => ...,
                 [
value] => ...
               )


I am correcting this by using a foreach-loop:
PHP Code:
$result $this->siteconfig->get_config();
   foreach(
$result as $item => $value){
    
$this->config_vars[$value['key']] = $value['value'];


Is there a more elegant, performant way?

Thanks
Tom
Reply


Messages In This Thread
Save Codeigniter config data in MySql database - by SirTom - 02-22-2018, 08:52 AM



Theme © iAndrew 2016 - Forum software by © MyBB