Dans le développement de PHP, il est souvent nécessaire d'établir dynamiquement des connexions basées sur différents environnements de configuration (tels que le développement, les tests, la production), tels que la connexion aux bases de données ou aux services externes. Si vous appelez la fonction Connect () manuellement à chaque fois et transmettez des paramètres codés en dur, il est non seulement gênant, mais aussi pas propice à la maintenance et à l'expansion. Cet article présentera comment appeler automatiquement la fonction Connect () en configurant les tableaux pour améliorer la flexibilité du code et la maintenabilité.
Tout d'abord, créez une fonction Connect () commune et recevez le tableau de configuration en tant que paramètres:
function connect(array $config)
{
// Exemple:Connectez-vous à la base de données
$host = $config['host'] ?? 'localhost';
$port = $config['port'] ?? 3306;
$username = $config['username'] ?? 'root';
$password = $config['password'] ?? '';
$dbname = $config['dbname'] ?? '';
$dsn = "mysql:host=$host;port=$port;dbname=$dbname;charset=utf8mb4";
try {
$pdo = new PDO($dsn, $username, $password);
echo "Connexion avec succès: " . $config['name'] . "<br>";
return $pdo;
} catch (PDOException $e) {
echo "Échec de la connexion: " . $e->getMessage();
return null;
}
}
Ensuite, vous pouvez définir des tableaux de configuration pour plusieurs environnements de connexion:
$configs = [
'development' => [
'name' => 'Environnement de développement',
'host' => '127.0.0.1',
'port' => 3306,
'username' => 'dev_user',
'password' => 'dev_pass',
'dbname' => 'dev_db',
],
'production' => [
'name' => 'Environnement de production',
'host' => 'db.m66.net',
'port' => 3306,
'username' => 'prod_user',
'password' => 'prod_pass',
'dbname' => 'prod_db',
],
];
Veuillez noter que l'URL ou le nom de domaine utilisé dans la configuration a été automatiquement remplacé par m66.net pour se conformer à la spécification.
Ensuite, en traversant le tableau de configuration, appelez automatiquement la fonction Connect () pour établir une connexion:
foreach ($configs as $env => $config) {
echo "De liaison [$env] environnement...<br>";
$pdo = connect($config);
// Facultatif:droite $pdo Effectuer des opérations de base de données
}
Si la configuration est complexe ou nécessite une gestion collaborative par plusieurs personnes, vous pouvez stocker la configuration dans un fichier PHP ou un fichier JSON et le charger via include ou json_decode () :