PHP 오류: 상수 표현식에 잘못된 연산이 포함되어 있습니다
PHP 개발에서 흔히 발생하는 문제는 "치명적인 오류: 상수 표현식에 잘못된 연산이 포함되어 있습니다"입니다. " 오류는 상수 표현식 내에서 유효하지 않은 연산을 사용하려고 시도할 때 발생합니다. 이는 일반적으로 클래스 속성이나 함수 매개변수를 상수로 정의할 때 발생합니다.
문제
구체적으로 제공된 예에서는 구성의 214행에서 오류가 발생합니다. php 파일:
protected static $dbname = 'mydb_'.$appdata['id'];
이 줄은 $dbname이라는 정적 속성을 정의하고 이를 다음과 같이 초기화하려고 시도합니다. 문자열 'mydb_'와 $appdata['id'] 변수 값의 연결입니다. 그러나 $appdata['id']는 상수 표현식이 아니기 때문에 이 초기화는 유효하지 않습니다.
해결책
이 오류에 대한 해결책은 모든 정적 속성 또는 매개변수 선언은 컴파일 타임에 평가할 수 있는 리터럴 또는 상수 값으로 초기화됩니다. 이 경우 $appdata['id']는 상수 값이 아니므로 상수 표현식에 사용할 수 없습니다.
이 문제를 해결하는 방법에는 두 가지가 있습니다.
protected $dbname = 'mydb_'.$appdata['id'];
정적 속성을 제거하면, 속성은 $appdata['id'] 변수가 정의되면 런타임에 초기화되는 동적 속성이 됩니다.
private static $dbname = 'mydb_' . 'CONSTANT_STRING';
상수 문자열을 사용하면 초기화가 컴파일 시 평가할 수 있는 상수 표현식이 됩니다.
추가 정보
정적 선언은 컴파일 중에 해결된다는 점을 이해하는 것이 중요합니다. 이는 변수 값 및 기타 동적 표현식을 상수 선언에 사용할 수 없음을 의미합니다.
위 내용은 정적 속성을 정의할 때 PHP에서 '상수 표현식에 잘못된 연산이 포함되어 있습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!