codeigniter - Codeigniter 4: Loading general settings from DB
问题描述
I would like to load few general settings that is previously stored in Database (e.g. site language, site name etc.) and those settings will be used everywhere in the application. Previously in Codeigniter 3 I've done this by adding below code in application/config/config.php file.
require_once(BASEPATH . 'database/DB.php');
$db =& DB();
$config['general_settings'] = $db->get('general_settings')->row();
$config['languages'] = $db->get('languages')->result();
$db->close();
But I'm bit confused about to Codeigniter 4 where or in which file I should put this code to get expected result. Any suggestion please let we know.
解决方案
After several attempts I got the way to overcome this issue.
First need to create a Custom Config file in App/Config directory. Let’s say my Custom Config name is MyConfig.php
<?php namespace Config;
use CodeIgniter\Config\BaseConfig;
use Config\Database;
class MyConfig extends BaseConfig
{
public function __construct ()
{
parent::__construct();
$db = Database::connect();
$get_general_settings = $db->query('SELECT * FROM general_settings');
$this->general_settings = $get_general_settings->getRow();
$get_languages = $db->query('SELECT * FROM languages');
$this->languages = $get_languages->getResult();
$db->close();
}
}
Now It can be used in any Controller or anywhere. Example: $myconfig = config('MyConfig');
推荐阅读
- python - 如何在打印结果中没有元素本身的情况下执行循环
- javascript - 在JS中取出Object的子属性
- python - 如何使动态对象名称分配给一个类?/ 如何创建多个对象名称不同的窗口 Tkinter
- django - vimeo 从 django 上传私人视频
- sql-server - 如何解决 Azure CD 中的 SQL 数据库数据移动错误
- excel - Application.Onkey 的问题
- python - python中的偏斜t分布
- r - 为什么 `pivot_wider` 不能在 `data.table` 上工作
- azure - 具有存储服务终结点策略的 VNET 中的 Azure Batch
- python - 使用 Selenium 和 Python 进行网页抓取