引子.今天排查程式碼,一路飛,到資料庫,
<span>1</span><span>$this->slave()->select('sina_user_id, sina_nickname, password')->from(self::Table_User_Info)</span>
顯然到這裡確定了表.user_info;
這個檔案沒有load->database();
顧名: slave() ,追溯slave() 果然在這裡組合了函式庫名字串,
<span>1</span><span> public function slave($dbName = 'default') </span><span>2</span> { <span>3</span> }
func 裡面load->database();
查loader裡的database();有下面這句話,
<span>1</span><span><strong>require</strong>_once(BASEPATH.'database/DB.php');</span>查DB.php;
<span>1</span><span> if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = BASEPATH.'config/'.ENVIRONMENT.'/database.php'))</span>這個檔案裡面多個資料庫屬性的引入,詳見核心檔案分析.終於找到了database.php 位置
<span> 1</span><span>// Default DB Config </span><span> 2</span><span>$db['default_master']['hostname'] = 'localhost'; </span><span> 3</span><span>$db['default_master']['username'] = 'admin'; </span><span> 4</span><span>$db['default_master']['password'] = '12345678'; </span><span> 5</span><span>$db['default_master']['database'] = ' '; </span><span> 6</span><span>$db['default_master']['port'] = 3306; </span><span> 7</span><span>$db['default_master']['dbdriver'] = 'mysql'; </span><span> 8</span><span>$db['default_master']['pconnect'] = FALSE; </span><span> 9</span><span>$db['default_master']['db_debug'] = TRUE; </span><span>10</span><span>$db['default_master']['cache_on'] = FALSE; </span><span>11</span><span>$db['default_master']['cachedir'] = ''; </span><span>12</span><span>$db['default_master']['char_set'] = 'utf8'; </span><span>13</span><span>$db['default_master']['dbcollat'] = 'utf8_general_ci'; </span><span>14</span><span>$db['default_master']['swap_pre'] = ''; </span><span>15</span><span>$db['default_master']['autoinit'] = TRUE; </span><span>16</span><span>$db['default_master']['stricton'] = FALSE;</span>
以上就介紹了一次簡單的資料庫追溯,包括了require方面的內容,希望對PHP教程有興趣的朋友有幫助。