| Total Complexity | 4 |
| Total Lines | 39 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 9 | class MySQLConnector extends Connector |
||
| 10 | { |
||
| 11 | protected static $type = 'mysql'; |
||
| 12 | |||
| 13 | protected $defaultConfig = [ |
||
| 14 | 'database-prefix' => '', |
||
| 15 | 'database-name' => 'nebula', |
||
| 16 | 'database-user' => 'root', |
||
| 17 | 'database-password' => '', |
||
| 18 | 'server-host' => '127.0.0.1', |
||
| 19 | 'server-port' => 3306, |
||
| 20 | 'database-charset' => 'utf8mb4', |
||
| 21 | ]; |
||
| 22 | |||
| 23 | /** |
||
| 24 | * 应用配置 |
||
| 25 | * |
||
| 26 | * @param array $config |
||
| 27 | * @return void |
||
| 28 | */ |
||
| 29 | public function applyConfig(array $config) |
||
| 30 | { |
||
| 31 | foreach ($config as $name => $value) { |
||
| 32 | if (in_array($name, array_keys($defaultConfig))) { |
||
|
|
|||
| 33 | $this->config[$name] = $config[$name] ?? $this->defaultConfig[$name]; |
||
| 34 | } else { |
||
| 35 | throw new ConfigException(sprintf(__CLASS__.' : unknown config property %s', $name)); |
||
| 36 | } |
||
| 37 | } |
||
| 38 | } |
||
| 39 | |||
| 40 | /** |
||
| 41 | * 获取PDO链接描述 |
||
| 42 | * |
||
| 43 | * @return string |
||
| 44 | */ |
||
| 45 | public function getDsn():string |
||
| 48 | } |
||
| 49 | |||
| 52 |