Web
Php 분류

PHP 상수

작성자 정보

  • console 작성
  • 작성일

컨텐츠 정보

본문

상수(constant)

상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다.

하지만 상수가 변수와 다른 점은 한 번 선언되면, 스크립트가 실행되는 동안 그 데이터를 변경하거나 해제(undefined)할 수 없다는 점입니다.


define() 함수

PHP에서는 define() 함수를 사용하여 상수를 선언할 수 있습니다.

 

define() 함수의 원형은 다음과 같습니다.

원형

define(상수이름상숫값대소문자구분여부)

 

이 함수는 첫 번째 인수로 상수의 이름을 전달받고, 두 번째 인수로 그 값을 전달받습니다.

세 번째 인수는 상수의 이름이 대소문자를 구분하는가를 설정하며, 기본값은 false로 대소문자를 구분합니다.

 

예제

define("PHP""PHP 수업에 잘 오셨습니다!<br>")// 대소문자를 구분함.(기본 설정)
echo PHP// PHP 수업에 잘 오셨습니다!

echo php// php
define("PHP""<br>PHP 수업에 잘 오셨습니다!"true)// 대소문자를 구분하지 않음.
echo php// PHP 수업에 잘 오셨습니다!

echo Php// PHP 수업에 잘 오셨습니다!

코딩연습 ▶

 

이렇게 선언된 상수는 스크립트의 어디에서라도 참조할 수 있습니다.

단, 해당 상수가 선언되기 이전의 스크립트 영역에서는 해당 상수를 참조할 수 없습니다.

예제

function defFunc()

{

    echo PHP// PHP
    define("PHP""PHP 수업에 잘 오셨습니다!");

    echo PHP// PHP 수업에 잘 오셨습니다!
}

defFunc();
echo PHP;     // PHP 수업에 잘 오셨습니다!

코딩연습 ▶

 

위의 예제에서 상수가 선언되기 전의 영역에서 호출한 echo() 함수는 해당 상수의 값을 참조하지 못합니다.

또한, 함수 내부에서 선언된 상수가 함수의 호출이 종료된 후에도 사용할 수 있음을 보여줍니다.


마법 상수(magic constants)

PHP는 어떤 스크립트에서도 사용할 수 있는 미리 정의된 다양한 상수를 제공합니다.

 

다음 예제는 PHP에서 미리 정의된 모든 상수를 출력해 주는 예제입니다.

예제

echo "<pre>";
print_r(get_defined_constants(true));
echo "</pre>";

코딩연습 ▶

 

PHP는 위와 같이 미리 정의된 상수 이외에도 어디에 사용하느냐에 따라 용도가 변경되는 8개의 마법 상수를 제공합니다.

이러한 마법 상수(magic constants)는 대소문자를 구분하지 않습니다.

상수 이름 설명
__LINE__ 파일의 현재 줄 번호를 반환함.
__FILE__

파일의 전체 경로와 이름을 반환함.

include 내부에서 사용할 경우 include된 파일명을 반환함.

__DIR__

파일의 디렉터리를 반환함.

포함한 파일 안에서 사용할 경우 포함된 파일의 디렉터리를 반환함.
dirname(__FILE__)과 같은 결과를 반환함.

__FUNCTION__ 함수의 이름을 반환함.
__CLASS__ 클래스의 이름을 반환함. 클래스 이름은 대소문자를 구분함.
__TRAIT__

트레이트(trait)의 이름을 반환함.

트레이트의 이름은 트레이트를 선언한 네임스페이스를 포함함.

__METHOD__ 클래스의 메소드 이름을 반환함.
__NAMESPACE__ 현재 네임스페이스의 이름을 반환함.

 

예제

function magicCons({
    echo __LINE__;     // 파일의 현재 줄 번호를 반환함.
    echo __FUNCTION__// 함수의 이름을 반환함.
    echo __METHOD__;   // 클래스의 메소드 이름을 반환함.
}
magicCons();

코딩연습 ▶

 

클래스와 메소드에 대한 더 자세한 사항은 PHP 클래스와 객체 수업에서 확인할 수 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 40 / 2 페이지
RSS
  • PHP 증감연산자
    등록자 console
    등록일 01.05 조회 2246

    Php 증감 연산자(increment and decrement operator) 증감 연산자는피연산자를 1씩 증가 혹은 감소시킬 때사용하는 연산자입니다…

  • PHP 대입연산자
    등록자 console
    등록일 01.05 조회 2315

    Php 대입 연산자(assignment operator) 대입 연산자는변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽…

  • PHP 산술연산자
    등록자 console
    등록일 01.05 조회 2317

    Php 연산자(operator) PHP는다양한 연산을 위해많은 종류의 연산자를 제공하고 있습니다. 산술 연산자(arithmetic operator) 산…

  • PHP 타입변환
    등록자 console
    등록일 01.05 조회 2720

    Php 자동 타입 변환(type juggling) PHP에서는 변수를 선언할 때 타입을 명시할 필요가 없습니다. 왜냐하면, PHP에서 변수의 타입은 해…

  • PHP 기본타입
    등록자 console
    등록일 01.05 조회 2336

    Php 기본 타입 타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미합니다. PHP에서는여러 가지 형태의 타입을 미리 정의하여제공…

  • PHP 상수
    등록자 console
    등록일 01.05 조회 2542

    Php 상수(constant) 상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 하지만 상수가 변수와 다른…

  • PHP 변수의 종류
    등록자 console
    등록일 01.05 조회 2255

    Php 변수의 종류 PHP에서 변수는스크립트 내 어느 곳에서나 선언할 수 있습니다. 변수의 유효 범위(variable scope)란 특정변수를참조되거나…

  • PHP 변수
    등록자 console
    등록일 01.05 조회 2200

    Php 변수(variable) 변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간입니다. 즉, 변수…

  • PHP 문법
    등록자 console
    등록일 01.05 조회 2259

    Php PHP 코드 영역 PHP 코드는 웹 페이지의 어느 부분에나 위치할 수 있습니다. 따라서 PHP 파서가 PHP 코드를 인식하기 위해서는 그 시작과…

  • PHP 작동원리
    등록자 console
    등록일 01.05 조회 2344

    Php 웹 프로그래밍 언어 웹 시스템 중 서버 측에서 실행되는 서버 사이드 언어를 웹 프로그래밍 언어라고도 부릅니다. 이러한 웹 프로그래밍 언어 중 많…

  • PHP 소개
    등록자 console
    등록일 01.05 조회 2536

    Php PHP란? PHP(PHP: Hypertext Preprocessor)는 C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언…

  • PHP 개요
    등록자 console
    등록일 01.05 조회 2236

    Php 웹 시스템(web system) 우리가 매일 사용하고 있는 인터넷을 구성하는 시스템을 웹 시스템(web system)이라고 합니다. 이러한 웹 …

  • php 기초 문법
    등록자 console
    등록일 01.05 조회 2357

    Php 변수 php에서는 데이터형의 선언이 없으며 JavaScript과 같은 var도 없다. 맨 처음에는 $를 붙여서 변수를 선언한다. $msg = "…

  • [그누보드] 그누보드 기초_그누보드 테마의 상수, 파일 용도
    등록자 console
    등록일 01.04 조회 3384

    Php 1.기본구조 테마에는 상당히 많은 파일이 포함되어 있습니다만 핵심 파일은 head.php, index.php, tail.php 파일입니다. 테마…

  • [그누보드] 그누보드 설치
    등록자 console
    등록일 01.03 조회 2377

    Php 0.1 그누보드 설치전 PHP 5.2.17 이상 (PHP7.2 이상 권장) MySQL 5.0 이상 or MySQL 5.0 이상의 기능을 만족하는…