public static function get_read_conn() { if (self::$read_conn === null) { $ds = array_merge(array(self::$daemons['master']), self::$daemons['slaves']); shuffle($ds); $d = $ds[0]; $dsn = $d['host'] . $d['user'] . $d['pass'] . $d['name'] . $d['port']; if (isset(self::$conns[$dsn])) { $conn = self::$conns[$dsn]; } else { $conn = mysqli_connect($d['host'], $d['user'], $d['pass'], $d['name'], $d['port']); if (!$conn) { exit('Cannot connect to slave'); } self::$conns[$dsn] = $conn; } self::$read_conn = $conn; } return self::$read_conn; }