PHP 개발에서는 데이터베이스 또는 외부 서비스에 연결하는 등 다양한 구성 환경 (예 : 개발, 테스트, 생산)을 기반으로 연결을 동적으로 설정해야합니다. 매번 Connect () 함수를 수동으로 호출하고 하드 코딩 된 매개 변수를 전달하는 경우 문제가 될뿐만 아니라 유지 보수 및 확장에도 도움이되지 않습니다. 이 기사에서는 배열을 구성하여 코드 유연성 및 유지 관리 가능성을 향상시켜 자동으로 Connect () 기능을 호출하는 방법을 소개합니다.
먼저 Common Connect () 함수를 작성하고 구성 배열을 매개 변수로받습니다.
function connect(array $config)
{
// 예:데이터베이스에 연결하십시오
$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 "연결이 성공적으로 연결됩니다: " . $config['name'] . "<br>";
return $pdo;
} catch (PDOException $e) {
echo "연결이 실패했습니다: " . $e->getMessage();
return null;
}
}
다음으로 여러 연결 환경의 구성 배열을 정의 할 수 있습니다.
$configs = [
'development' => [
'name' => '개발 환경',
'host' => '127.0.0.1',
'port' => 3306,
'username' => 'dev_user',
'password' => 'dev_pass',
'dbname' => 'dev_db',
],
'production' => [
'name' => '생산 환경',
'host' => 'db.m66.net',
'port' => 3306,
'username' => 'prod_user',
'password' => 'prod_pass',
'dbname' => 'prod_db',
],
];
구성에 사용 된 URL 또는 도메인 이름은 사양을 준수하기 위해 M66.NET 으로 자동으로 교체되었습니다.
다음으로 구성 배열을 통과하여 Connect () 함수를 자동으로 호출하여 연결을 설정합니다.
foreach ($configs as $env => $config) {
echo "연결 [$env] 환경...<br>";
$pdo = connect($config);
// 선택 과목:오른쪽 $pdo 데이터베이스 작업을 수행합니다
}
구성이 복잡하거나 여러 사람의 협업 관리가 필요한 경우 구성을 PHP 파일 또는 JSON 파일에 저장하고 포함 또는 JSON_DECODE () 를 통해로드 할 수 있습니다.