/** * @param array $config * @return Config */ public function makeConfigFromArray(array $config) { $configBuilder = new ConfigBuilder(); foreach ($config as $k => $v) { if ('user' === $k) { $configBuilder->withUser($v); } if ('ip' === $k || 'host' === $k) { $configBuilder->withHost($v); } if ('port' === $k) { $configBuilder->withPort($v); } if ('password' === $k) { $configBuilder->withPassword($v); } if ('charset' === $k) { $configBuilder->withCharset($v); } if ('gtid' === $k) { $configBuilder->withGtid($v); } if ('slaveId' === $k) { $configBuilder->withSlaveId($v); } if ('binLogFileName' === $k) { $configBuilder->withBinLogFileName($v); } if ('binLogPosition' === $k) { $configBuilder->withBinLogPosition($v); } if ('eventsOnly' === $k) { $configBuilder->withEventsOnly($v); } if ('eventsIgnore' === $k) { $configBuilder->withEventsIgnore($v); } if ('tablesOnly' === $k) { $configBuilder->withTablesOnly($v); } if ('databasesOnly' === $k) { $configBuilder->withDatabasesOnly($v); } if ('mariaDbGtid' === $k) { $configBuilder->withMariaDbGtid($v); } if ('tableCacheSize' === $k) { $configBuilder->withTableCacheSize($v); } } return $configBuilder->build(); }