亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

CI(Codeigniter)的Setting增強配置類實例

2024-05-04 23:41:55
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Codeigniter的Setting增強配置類,結合實例形式較為詳細的分析了Codeigniter增強配置類的具體實現步驟與相關技巧,需要的朋友可以參考下
 

本文實例講述了Codeigniter的Setting增強配置類。分享給大家供大家參考,具體如下:

該增強配置類適用配置項要求比較靈活的項目??蓪崿F預加載配置、組配置、單項調取、增、刪、改配置,無需在改動config文檔。

使用:

在需要的地方

復制代碼代碼如下:
$this->load->library('setting');

對于預加載項可以使用
復制代碼代碼如下:
$this->config->item();
進行獲取
對于臨時調取項可以使用
復制代碼代碼如下:
$this->setting->item();
進行獲取

 

首先,創建數據表

CREATE TABLE `system_settings` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `key` varchar(64) NOT NULL DEFAULT '', `value` mediumtext NOT NULL, `group` varchar(55) NOT NULL DEFAULT 'site', `autoload` enum('no','yes') NOT NULL DEFAULT 'yes', PRIMARY KEY (`id`,`key`), KEY `name` (`key`), KEY `autoload` (`autoload`)) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

然后,在application/libraries目錄下創建setting.php,內容如下

<?phpif (!defined('BASEPATH'))  exit('No direct script access allowed');class Setting {  private $_ci;  private $settings_autoloaded;  private $settings = array();  private $settings_group = array();  private $settings_db;  public function __construct() {    $this->_ci = &get_instance();    $this->settings_db = $this->_ci->config->item('settings_table');    $this->autoload();  }  // ------------------------------------------------------------------------  // 華麗的分割線 正式開始  // ------------------------------------------------------------------------  /**   * 從數據庫獲取所有自動加載的設置   */  public function autoload() {    //如果存在則直接返回    if (!empty($this->settings)) {      return $this->settings;    }    //如果系統不存在數據表則返回false    if (!$this->_ci->db->table_exists($this->settings_db)) {      return FALSE;    }    //查詢標記為自動加載的項    $this->_ci->db->select('key,value')->from($this->settings_db)->where('autoload', 'yes');    $query = $this->_ci->db->get();    if ($query->num_rows() == 0) {      return FALSE;    }    //循環寫入系統配置    foreach ($query->result() as $k => $row) {      $this->settings[$row->key] = $row->value;      $this->_ci->config->set_item($row->key, $row->value);    }    //標記會話,避免重復讀庫    //$this->_ci->session->set_userdata('settings_autoloaded', TRUE);    return $this->settings;  }  // ------------------------------------------------------------------------  /**   * 獲取單個設定   *   * <code>   * <?php $this->settings->get('config_item');   ?>   * </code>   */  public function item($key) {    if (!$key) {      return FALSE;    }    //首先檢查是否系統已經自動加載    if (isset($this->settings[$key])) {      return $this->settings[$key];    }    //查詢數據庫    $this->_ci->db->select('value')->from($this->settings_db)->where('key', $key);    $query = $this->_ci->db->get();    if ($query->num_rows() > 0) {      $row = $query->row();      $this->settings[$key] = $row->value;      return $row->value;    }    // 查詢不到結果則查找系統config,返回值或者false    return $this->_ci->config->item($key);  }  // ------------------------------------------------------------------------  /**   * 獲取組配置   */  public function group($group = '') {    if (!$group) {      return FALSE;    }    $this->_ci->db->select('key,value')->from($this->settings_db)->where('group', $group);    $query = $this->_ci->db->get();    if ($query->num_rows() == 0) {      return FALSE;    }    foreach ($query->result() as $k => $row) {      $this->settings[$row->key] = $row->value;      $arr[$row->key] = $row->value;    }    return $arr;  }  // ------------------------------------------------------------------------  /**   * 更改設置   */  public function edit($key, $value) {    $this->_ci->db->where('key', $key);    $this->_ci->db->update($this->settings_db, array('value' => $value));    if ($this->_ci->db->affected_rows() == 0) {      return FALSE;    }    return TRUE;  }  // ------------------------------------------------------------------------  /**   * 新增設置   */  public function insert($key, $value = '', $group = 'addon', $autoload = 'no') {    // 檢查是否已經被添加的設置    $this->_ci->db->select('value')->from($this->settings_db)->where('key', $key);    $query = $this->_ci->db->get();    if ($query->num_rows() > 0) {      return $this->edit($key, $value);    }    $data = array('key' => $key, 'value' => $value, 'group' => $group, 'autoload' => $autoload, );    $this->_ci->db->insert($this->settings_db, $data);    if ($this->_ci->db->affected_rows() == 0) {      return FALSE;    }    return TRUE;  }  // ------------------------------------------------------------------------  /**   * 刪除設置   */  public function delete($key) {    $this->_ci->db->delete($this->settings_db, array('key' => $key));    if ($this->_ci->db->affected_rows() == 0) {      return FALSE;    }    return TRUE;  }  // ------------------------------------------------------------------------  /**   * 刪除設置組及成員配置   */  public function delete_group($group) {    $this->_ci->db->delete($this->settings_db, array('group' => $group));    if ($this->_ci->db->affected_rows() == 0) {      return FALSE;    }    return TRUE;  }}/* End of file Setting.php *//* Location: ./application/libraries/Setting.php */

最后,打開application/config/config.php,新增

/** * 系統配置表名 */$config['settings_table'] = "system_settings";

希望本文所述對大家基于Codeigniter框架的PHP程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线不卡视频| 成人www视频在线观看| 97婷婷大伊香蕉精品视频| 57pao成人国产永久免费| 国内精品久久久久久久久| 日韩美女av在线| 久久久www成人免费精品| 不卡av电影在线观看| 国产999在线| 亚洲新中文字幕| 久久久久久com| 国自产精品手机在线观看视频| 97人人做人人爱| 欧美日韩中文字幕综合视频| 国产日韩精品视频| 欧美视频精品一区| 国产精品久久久久久久久久久久| 亚洲视频在线免费看| 欧美日韩一区二区免费在线观看| 国产精品欧美日韩| 久久久女人电视剧免费播放下载| 91影视免费在线观看| 91精品视频免费| 欧美成人亚洲成人日韩成人| 奇米四色中文综合久久| 国产精品久久久久久久久粉嫩av| 日本a级片电影一区二区| 久久影视电视剧免费网站清宫辞电视| 亚洲人a成www在线影院| 北条麻妃一区二区在线观看| 在线日韩第一页| 国产成人精品久久二区二区91| 98精品国产高清在线xxxx天堂| 欧美激情视频一区二区| 最近2019中文字幕在线高清| 久久亚洲欧美日韩精品专区| 欧美疯狂性受xxxxx另类| 欧美午夜丰满在线18影院| 欧美激情网友自拍| 亚洲黄色在线看| www.日韩.com| 欧美在线性爱视频| 国产精品久久久久久一区二区| 国产日韩欧美日韩| 91tv亚洲精品香蕉国产一区7ujn| 裸体女人亚洲精品一区| 日韩av在线网| 91视频九色网站| 亚洲欧洲日产国码av系列天堂| 国内伊人久久久久久网站视频| 久久精品国产精品亚洲| 在线观看欧美www| 国产精品美女午夜av| 欧美乱大交xxxxx另类电影| 国产日韩精品综合网站| 亚洲成人三级在线| 日韩精品欧美激情| 欧美黄色片免费观看| 国产精品视频yy9099| 亚洲www在线| 国产成人精品av在线| 午夜精品www| 欧美视频在线观看 亚洲欧| 91牛牛免费视频| 国产伦精品一区二区三区精品视频| 992tv在线成人免费观看| 日韩天堂在线视频| 欧美一区视频在线| 亚洲欧美国产视频| 亚洲丁香婷深爱综合| 狠狠色香婷婷久久亚洲精品| 精品福利樱桃av导航| 国产男人精品视频| 亚洲精品视频中文字幕| 久久久久国产精品免费| 国产a∨精品一区二区三区不卡| 欧美孕妇与黑人孕交| 最近2019年手机中文字幕| 国产日韩在线精品av| 免费av在线一区| 久久精品国产久精国产一老狼| 日韩电影在线观看中文字幕| 国产综合香蕉五月婷在线| 日韩中文在线视频| 最近的2019中文字幕免费一页| 久久精品国产清自在天天线| 日本成人精品在线| 亚洲成人免费网站| 亚洲精品福利视频| 亚洲国产美女久久久久| 日韩av一区二区在线观看| 亚洲欧美成人在线| 欧美专区日韩视频| 亚洲国产精品中文| 成人黄色免费网站在线观看| 国产精品扒开腿做爽爽爽视频| 国产成人免费av电影| 国产精品亚发布| 成人免费网站在线看| 在线观看久久av| 国产精品久久视频| 91九色综合久久| 国产一区二区三区日韩欧美| 国产在线精品成人一区二区三区| www.亚洲人.com| 亚洲欧美日韩在线高清直播| 97婷婷大伊香蕉精品视频| 黄色成人av网| 国语自产精品视频在免费| 国产精品日韩久久久久| 国产精品稀缺呦系列在线| 懂色av影视一区二区三区| 欧美日韩激情视频| 日韩av电影在线免费播放| 8090成年在线看片午夜| 一区国产精品视频| 91社区国产高清| 国产精品海角社区在线观看| 欧美日韩中文字幕综合视频| 美日韩精品免费观看视频| 一级做a爰片久久毛片美女图片| 日韩一区av在线| 视频在线观看一区二区| 亚洲欧洲高清在线| 久久夜精品香蕉| 亚洲风情亚aⅴ在线发布| 97国产suv精品一区二区62| 国产精品久久久久久久久久小说| 欧美精品久久久久久久| 国产亚洲精品高潮| 欧美一区二粉嫩精品国产一线天| 国产成人精品网站| 国产在线观看91精品一区| 欧美乱妇40p| 国产成人avxxxxx在线看| 狠狠色狠狠色综合日日小说| 97热精品视频官网| 日韩欧美黄色动漫| 欧美性极品xxxx娇小| 欧美激情精品久久久久久| 国产日本欧美一区二区三区在线| 97久久久免费福利网址| 国产精品视频不卡| 亚洲男女性事视频| 亚洲第一色中文字幕| 精品久久久久久久久久ntr影视| 国a精品视频大全| 日本精品视频在线播放| 午夜精品一区二区三区视频免费看| 久久九九国产精品怡红院| 成人午夜在线视频一区| 国产精品久久久久久久久久久新郎| 最近2019免费中文字幕视频三| 欧美精品在线观看91| 亚洲国产天堂久久综合| 久久久成人精品| 久久成人精品一区二区三区| 久久99精品久久久久久噜噜| 日韩国产精品亚洲а∨天堂免| 18性欧美xxxⅹ性满足| 亚洲九九九在线观看| 国产一区二区三区毛片| 久久人91精品久久久久久不卡| 97超级碰在线看视频免费在线看|