Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 손쉽게 편집 가능한 설정 데이터를 저장하는 가장 빠른 방법

PHP에서 변수를 저장하는 작업에서는 일반적으로 serialize가 JSON보다 더 나은 성능을 보여줍니다. 하지만 설정(config) 파일을 다룰 때는 var_export 함수로 설정 파일을 생성·저장하고, include 구문으로 해당 파일의 내용을 불러오는 방식이 가장 효율적입니다.


이 방법의 가장 큰 장점은 코드를 통해 설정 데이터를 프로그래밍 방식으로 쉽게 저장할 수 있고, 파일을 열어 직접 확인하거나 수정하기도 매우 간편하다는 점입니다. 아래 예제 코드를 통해 실제 활용 방법을 살펴보겠습니다.

1. 설정 파일 작성 (config.php)

먼저 반환값으로 배열을 리턴하는 설정 파일을 만듭니다. PHP에서 include 시 이 배열 값이 그대로 변수에 담기게 됩니다.

return array(
    'var_1' => 'value_1',
    'var_2' => 'value_2',
);

2. 설정 파일 불러오기 및 수정 (test.php)

include로 설정 값을 읽어온 뒤 원하는 항목을 변경하고, var_export를 사용해 파일에 다시 저장합니다.

$config = include 'config.php';
$config['var_2'] = 'value_3';
file_put_contents('config.php', '<?php return ' . var_export($config, true) . ';');

위 코드 대신 아래와 같은 형태로 작성해도 동일하게 동작합니다. 다만 이 경우 파일 상단에 <?php 태그가 포함되지 않으므로, 첫 번째 방식처럼 PHP 태그를 명시적으로 넣어주는 것이 안전합니다.

$config = include 'config.php';
$config['var_2'] = 'value_3';
file_put_contents('config.php', '$config = ' . var_export($config));

3. 업데이트된 결과 (config.php)

위 코드를 실행하면 config.php 파일은 다음과 같이 자동으로 갱신됩니다.

return array(
    'var_1' => 'value_1',
    'var_2' => 'value_3',
);

정리

var_export와 include를 조합하면 별도의 파싱 과정 없이 PHP 네이티브 문법 그대로 설정을 유지할 수 있어 성능 면에서도 유리합니다. 또한 사람이 눈으로 직접 읽고 수정하기 좋은 형태라면, 설정 관리가 필요한 프로젝트에서 매우 실용적인 방법이라 할 수 있습니다.