PHP에 값을 전달하고 처리할 때, 전달된 값의 존재를 확인하면서 PHP 변수로 재정의하는 것이 일반적입니다. 하지만 매번 이런 루틴 프로세스를 작성하는 것은 번거롭고, URL 매개변수 이름을 바꾸면 그 부분도 작업해야 합니다. 따라서 매개변수 이름을 어떤 URL 매개변수에 대해서도 변수 이름으로 정의하면 변수 정의 초기 처리가 더 쉬워지고, PHP 처리의 모크 버전을 작성할 때도 쉽고 효율적일 것입니다... 저는 생각했습니다... 저는 생각했습니다.
그래서 PHP 변수를 사용해 URL 매개변수를 있는 그대로 PHP 변수로 만들어봅시다.
foreach($_REQUEST as $query => $value){
${$query} = (isset($value)) ? $value : '';
}
이는 입력한 URL 매개변수에 대해 매개변수 이름을 가진 PHP 변수를 정의합니다.
예를 들어, 위 코드가 포함된 "test.php"에 "test.php?a=test"로 접근하면, "test.php"은 URL 매개변수 "a"를 변수 "$a"로 정의합니다. 마찬가지로 "test.php?a=test&b=1&c=0"으로 접근하면 각각 "$a", "$b", "$c"가 정의됩니다. 전역 변수 "$_REQUEST"이 변수로 확장되기 때문에 GET 메서드나 POST 메서드를 사용하는 것이 괜찮습니다.
변수의 정의 상태는 다음과 같습니다.
print_r(get_defined_vars());
한번 확인해 보세요.
하지만 이런 방식으로 퍼블리싱을 위해 앱을 만들면 받은 값들을 있는 그대로 발전시키게 되므로, 크로스 사이트 스크립팅이나 다양한 인젝션에서 보안 구멍이 될 가능성이 높으므로, 모의 개발이나 기타 용도로 제한하는 것이 더 낫습니다.