소개. 오늘 코드를 확인하고 데이터베이스까지 날아갔습니다.
<span>1</span><span>$this->slave()->select('sina_user_id, sina_nickname, password')->from(self::Table_User_Info)</span>
분명히 .user_info 테이블이 여기에서 결정되었습니다. 이 파일은 로드되지 않았습니다. >database();
이름에서 알 수 있듯이: Slave()는 슬레이브 라이브러리이며, 다시 Slave()로 추적하면 라이브러리 이름 문자열이 여기에 결합된 것으로 나타났습니다. ,
<span>1</span><span> public function slave($dbName = 'default') </span><span>2</span> { <span>3</span> }Func inside load->database();
loader에서 데이터베이스()를 확인하세요.
<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>DB 추적이 완료되었습니다.
위의 내용은 필수 내용을 포함하여 간단한 데이터베이스 추적을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.