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 / 1 페이지
RSS
  • 웹개발에 자주 쓰는 자바스크립트 라이브러리들 - 슬라이…
    등록자 tjslli
    등록일 05.08 조회 1711

    Html 슬라이드/갤러리 (Carousel) 01. 가장 유명한 Slick - https://kenwheeler.github.io/slick/ 설치 &l…

  • [CSS]css 가상 선택자 정리 및 비교 (nth-c…
    등록자 CSS러버
    등록일 05.08 조회 1627

    Html :nth-child(N)= 부모안에 모든 요소 중 N번째 요소 A:nth-of-type(N)= 부모안에 A라는 요소 중 N번째 요소 :first…

  • 스크롤 이벤트 감지 + jquery + css
    등록자 webveloper
    등록일 04.15 조회 1740

    Html 1. css .caritem{display:flex;align-items:end;flex-direction:column;background:#0…

  • slick slider 커스텀으로 꾸미기 + jquer…
    등록자 webveloper
    등록일 04.15 조회 1776

    Html 1. import <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.n…

  • 호버(hover) 할 때 jquery 이벤트 감지 방법
    등록자 webveloper
    등록일 04.15 조회 1789

    Html 안녕하세요. html 코딩 시 hover 할때 감지하는 이벤트 스크립트입니다. <style> .con-group { display: …

  • 그누보드 썸네일 이미지 화질 개선 방법
    등록자 PixelProphet
    등록일 01.10 조회 2737

    Php 그누보드에서 이미지를 올릴때, 간혹 이미지 화질이 떨어져 보이는 현상이 있습니다.... 이럴 때 제가 찾아본 방법 중에 가장 쉽게 해결 할 수 …

  • React 유튜브 채널 추천
    등록자 코드워리어
    등록일 01.09 조회 2200

    React React는 웹 개발에서 매우 인기 있는 라이브러리로, 학습을 위해 다양한 자료들이 필요합니다. React를 학습하고 싶은 분들을 위한 유튜버 …

  • PHP 배열의 기초
    등록자 console
    등록일 01.05 조회 2533

    Php 배열(array)이란? PHP에서 배열(array)은 맵(map)으로 이루어진, 순서가 있는 집합을 의미합니다. 맵(map)은한 쌍의 키(key…

  • PHP 기타 제어문
    등록자 console
    등록일 01.05 조회 2568

    Php 루프의 제어 일반적으로 조건식의 검사를 통해 루프로 진입하면,다음 조건식을검사하기 전까지 루프 안에 있는 모든 명령문을 실행합니다. 사용자는 c…

  • PHP 반복문
    등록자 console
    등록일 01.05 조회 2536

    Php 반복문 반복문이란 프로그램 내에서 같은 명령을 일정 횟수만큼 반복하여수행하는명령문입니다. 프로그램이 처리하는 대부분의코드는 반복적인 형태가 많으…

  • PHP 조건문
    등록자 console
    등록일 01.05 조회 2386

    Php PHP 표현식 표현식(expressions)은 PHP에서 가장 중요한 구성요소입니다. 표현식이란 모든 것이 값을 갖는다는 의미이며, PHP에서 …

  • PHP 기타 연산자
    등록자 console
    등록일 01.05 조회 2351

    Php 삼항 연산자(ternaryoperator) 삼항 연산자는 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다. 삼항 연산자의 문법은 다음과 같…

  • PHP 비트 연산자
    등록자 console
    등록일 01.05 조회 2561

    Php 비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다. 또한, 비트…

  • PHP 논리 연산자
    등록자 console
    등록일 01.05 조회 2618

    Php 논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다. and, or, …

  • PHP 비교 연산자
    등록자 console
    등록일 01.05 조회 2637

    Php 비교 연산자(comparisonoperator) 비교 연산자는피연산자사이의 상대적인 크기를 판단하여,참(true)과 거짓(false)을 반환합니…