>  기사  >  백엔드 개발  >  PHP 사전 정의: 사전 정의된 상수 및 초전역 변수 이해

PHP 사전 정의: 사전 정의된 상수 및 초전역 변수 이해

PHPz
PHPz원래의
2023-03-21 14:52:391846검색

PHP는 동적 언어이며 개발자가 작성한 코드는 해당 논리를 실행합니다. 그러나 코드를 실행하는 과정에서 일부 작업을 완료하는 데 도움이 되는 환경 변수나 시스템 상수와 같은 것이 필요한 경우가 많습니다. PHP는 개발자가 중요한 정보를 신속하게 얻고 처리할 수 있도록 사전 정의된(또는 내장된) 변수를 제공합니다. 이러한 변수는 미리 정의된 상수와 슈퍼전역 변수라는 두 가지 유형으로 나뉩니다.

미리 정의된 상수

미리 정의된 상수에는 PHP에서 특별한 정의가 있습니다. PHP 스크립트가 실행되기 전에 정의됩니다. 일반적으로 사용되는 사전 정의된 상수는 다음과 같습니다.

  • LINE: 코드 줄 수를 나타냅니다.

  • FILE: 파일의 경로와 이름을 나타냅니다.

  • DIR: 파일이 있는 디렉터리의 절대 경로를 나타냅니다.

  • FUNCTION: 함수 이름을 나타냅니다.

  • CLASS: 네임스페이스를 포함한 클래스 이름을 나타냅니다.

  • TRAIT: 네임스페이스를 포함한 특성 이름을 나타냅니다.

  • METHOD: 클래스의 메서드 이름을 나타냅니다.

  • NAMESPACE: 현재 네임스페이스 이름을 나타냅니다.

미리 정의된 상수는 읽을 수 있지만 재할당할 수는 없습니다. 예를 들면 다음과 같습니다.

<?php
echo __FILE__; // 输出当前文件的路径
echo __LINE__; // 输出当前代码的行数
?>

미리 정의된 상수의 목적은 개발자가 코드를 신속하게 찾아 디버깅하는 데 도움을 주고, 오류 보고서에 사용하거나 코드 실행 경로 및 코드 실행 경로를 기록하는 데 사용될 수 있습니다. 타임 스탬프 등

슈퍼 전역 변수

슈퍼 전역 변수는 범위나 함수 매개변수 전달에 대한 걱정 없이 PHP 스크립트의 어디에서나 액세스할 수 있는 변수입니다. 모든 슈퍼전역 변수는 밑줄로 시작하는 전역 변수의 배열이며 배열 이름은 버전마다 다릅니다. 슈퍼전역 변수에는 다음과 같은 유형이 있습니다.

  • $GLOBALS: 모든 변수를 포함하는 전역 범위 배열 변수의 이름은 배열의 키입니다.

  • $_SERVER: 서버 및 실행 환경 정보입니다. 예: $_SERVER['PHP_SELF']는 현재 실행 중인 스크립트의 파일 이름을 반환합니다.

  • $_GET: HTTP GET 변수.

  • $_POST: HTTP POST 변수.

  • $_FILES: HTTP 파일 업로드 변수.

  • $_REQUEST: $_GET, $_POST 및 $_COOKIE 변수의 내용도 포함하는 HTTP 요청 변수입니다.

  • $_SESSION: 세션 변수.

  • $_COOKIE: HTTP 쿠키.

  • $_ENV: 환경 변수.

$_SERVER 슈퍼 전역 변수의 예:

<?php
echo $_SERVER[&#39;PHP_SELF&#39;]; //显示当前执行脚本的文件名,即 index.php
echo $_SERVER[&#39;SERVER_NAME&#39;]; // 显示当前运行脚本所在的服务器的主机名(本机 IP)
echo $_SERVER[&#39;HTTP_REFERER&#39;]; // 获取网页的来源地址 (referer)
echo $_SERVER[&#39;DOCUMENT_ROOT&#39;]; // 显示当前执行脚本的文档根目录(/var/www/)
?>

슈퍼 전역 변수의 장점은 전역 변수에 액세스해야 할 때 모든 함수에서 이러한 변수를 전달할 필요가 없다는 것입니다. 그러나 이러한 변수는 모든 스크립트의 어느 곳에서나 직접 액세스할 수 있기 때문에 일부 보안 문제도 발생합니다. 공격자는 일부 취약점을 사용하여 이러한 전역 변수의 내용을 수정하여 시스템에서 예외를 생성하고 오류의 원인을 디버깅 및 분석할 수 있습니다. 예외도 더 어려울 것입니다.

결론:

미리 정의된 상수와 슈퍼전역 변수는 PHP에 내장된 변수 중 일부로서 PHP 프로그래머의 개발과 디버깅을 더욱 편리하고 효율적으로 만들어줍니다. 그러나 이를 사용할 때는 예기치 않은 문제를 방지하기 위해 보안 문제와 특정 구현 세부 사항도 고려해야 합니다.

위 내용은 PHP 사전 정의: 사전 정의된 상수 및 초전역 변수 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.