container->set('pdo', function() use ($app) { $settings = $app->config('db'); $host = trim($settings['host']); $db = trim($settings['dbname']); $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", trim($settings['user']), trim($settings['pass']), [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]); return $pdo; }); // PDO connection (PDO-driver) $app->container->set('mypdo', function() use ($app) { $settings = $app->config('db'); if (!$pdo = new MysqlPdo(trim($settings['host']), trim($settings['dbname']), trim($settings['user']), trim($settings['pass']), false)) die("No connect database..."); $pdo->query("SET NAMES 'utf8mb4'"); return $pdo; }); // PostgreSQL connection $app->container->set('pgsql', function() use ($app) { $settings = $app->config('pgsql'); $host = trim($settings['host']); $db = trim($settings['dbname']); $pdo = null; try { $pdo = new PDO("pgsql:host=$host;dbname=$db;port=5432;", trim($settings['user']), trim($settings['pass']), [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]); } catch (\Throwable $th) { var_dump('$th');die; } return $pdo; }); // MySQL connection $app->container->set('mysql', function() use ($app) { $settings = $app->config('db'); if (!$mdb = mysql_connect($settings['host'], $settings['user'], $settings['pass'])) die("No connect database..."); if (!mysql_select_db($settings['dbname'], $mdb)) die("No selected database..."); $sql = "SET NAMES 'utf8mb4'"; mysql_query($sql, $mdb); return $mdb; }); // Sphinx connection #1 (Global Search part) $app->container->set('sphinx', function() use ($app) { $settings = $app->config('db'); if (!$sphinx = new MysqlPdo($settings['host_sphinx'], null, null, null, true, '9306')) die("No connect database..."); $sphinx->query("SET NAMES 'utf8mb4'"); return $sphinx; }); // Sphinx connection #2 (My objects, Agency objects etc.) $app->container->set('sphinx2', function() use ($app) { $settings = $app->config('db'); if (!$sphinx = new MysqlPdo($settings['host_sphinx2'], null, null, null, true, '9306')) die("No connect database..."); $sphinx->query("SET NAMES 'utf8mb4'"); return $sphinx; }); // FTP connection $app->container->set('ftp', function() use ($app) { $conn = null; $settings = $app->config('ftp'); if ($conn = ftp_connect($settings['host'])) die("No FTP connection..."); if (!ftp_login($conn, $settings['user'], $settings['pass'])) die("No FTP login failed..."); return $conn; });