PHP 사용자 정의 상수와 클래스 상수의 차이점 분석

伊谢尔伦
풀어 주다: 2023-03-11 22:20:01
원래의
1466명이 탐색했습니다.

1. 사용자 정의 constant

상수의 값은 스칼라 데이터(boolean, integer, float string) 또는 널.

상수는 한번 정의되면 재정의하거나 정의 취소할 수 없습니다.

정의하는 방법은 두 가지가 있습니다.

  • 상수를 정의하려면 define() 함수를 사용하세요.

define('STATUS', 3); // 세 번째 매개변수가 설정된 경우 true 이면 대소문자가 구분되지 않습니다

echo STATUS;

  • 상수를 정의하려면 const 키워드를 사용하세요

const NAME = 4;

echo NAME;

확인 기능 사용 constant() 상수 값을 가져옵니다.

Defined() 함수를 사용하여 특정 이름의 상수가 존재하는지 확인하세요.


2. 클래스 상수

클래스에서 상수의 값을 정의할 수 있으며, 클래스 attribute는 변수가 될 수 없습니다. 또는 기타 작업(예: 함수 호출 결과). 그러나 PHP5.6에서는 상수 계산을 허용하고 숫자, 문자열 리터럴 값 및 상수를 포함하는 표현식결과를 사용하여 const 상수를 정의할 수 있도록 상수가 향상되었습니다. 상수의 값은 배열일 수도 있지만 변수는 될 수 없습니다.

클래스 상수를 정의하려면 const 키워드만 사용할 수 있습니다.

class MyClass {
    const AB = 2;
    public function showConstant(){
        echo self::AB;
    }
}
echo MyClass::AB;
$obj = new MyClass();
$obj -> showConstant();
MyClass::showConstant();
$className = 'MyClass';
echo $className::AB;
로그인 후 복사

인스턴스:

/**
 * 1、define(name,value,case_insensitive) 自定义全局常量, 默认大小写敏感
 * 2、const 定义类常量。
 * 3、常量名前不要使用”$”
 * 4、常量的命名一般全部使用大写字母。
 */
//定义全局常量 LANGUAGE
define('LANGUAGE','中国');
echo language;//language
echo LANGUAGE;//中国
//定义全局常量 CN
define('CN','中国',TRUE);
echo CN;//中国
echo cn;//中国
//定义类常量
class ConstTest{
const VERSION = '1.0';
function ConstTest(){
//类内部使用“self::常量名”调用,不能使用$this
echo 'self::VERSION='.self::VERSION;
}
}
//实例化 ConstTest,目的是调用构造函数
new ConstTest();
//外部调用类常量,通过“类名::常量名”直接调用,无需实例化。
echo 'VERSION='.(ConstTest::VERSION);
echo &#39;<br>&#39;;
//array get_defined_constants ([ bool $categorize = false ] ) 返回所有已定义的常量
//print_r(get_defined_constants(true));
//bool defined ( string $name ) 检查该名称的常量是否已定义。
echo defined(&#39;cn&#39;)?&#39;true&#39;:&#39;false&#39;;
로그인 후 복사

인쇄 결과:

language
中国
中国
中国
self::VERSION=1.0
VERSION=1.0
true
로그인 후 복사

위 내용은 PHP 사용자 정의 상수와 클래스 상수의 차이점 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!