-1
我需要從會話(瀏覽器)讀取數據庫名稱,並使用此名稱作爲全局數據庫連接(所有數據庫函數)而不是存儲在database.php中的名稱。我應該如何覆蓋/擴展MY_Loader.php才能做到這一點?覆蓋數據庫類的數據庫名稱
我需要從會話(瀏覽器)讀取數據庫名稱,並使用此名稱作爲全局數據庫連接(所有數據庫函數)而不是存儲在database.php中的名稱。我應該如何覆蓋/擴展MY_Loader.php才能做到這一點?覆蓋數據庫類的數據庫名稱
嗯......你爲什麼要這麼做?我從來不知道這件事會做。你可以擴展數據庫類,檢查數據庫名稱的會話,或者我可以試試這個;
在加載數據庫之前,您可以加載會話並使用它來定義數據庫配置;
$config['hostname'] = $this->session->userdata('db_hostname');
$config['username'] = $this->session->userdata('db_username');
$config['password'] = $this->session->userdata('db_password');
$config['database'] = $this->session->userdata('db_database');
// Now, load the database
$this->load->database($config);
當您在小應用程序中將其用於控制器中的一些功能時,這將起作用。但是對於龐大的系統來說,這不是最好的解決方案(代碼重複一次又一次,所以它會混亂) – peter
或者,將其添加到庫構造函數中,然後自動加載它? – Craig
也許它應該工作(我嘗試了各種方式,但我做錯了什麼)。最後我直接在config/database.php中檢索會話 – peter