2011-10-04 6 views
3

I는 다음과 같이 "목록"라는 이름의 클래스를 정의하고 싶습니다 :내장 함수와 같은 이름으로 클래스를 정의하는 방법은 무엇입니까?

을 "T_STRING 기대, 구문 오류, 예기치 T_LIST 구문 분석 오류 :"

class List 
{ 
} 

PHP는 클래스 정의의 파일에 다음과 같은 오류를 제공합니다

은 분명히 "목록()"라는 이름의 PHP 내장 함수가 내가 사용하지 않기 때문에 라인이 키워드 클래스

로 시작하더라도 파서 내 클래스 정의 대신 여기 읽는 것을 내 projec 어디서나 내장 함수 t "제거/비활성화"하고 싶습니다. 그래서 "List"라는 클래스를 사용할 수 있습니다.

PHP로 어떻게 가능합니까?

+1

나는 그것이 불가능하다고 생각하고, 만약 그 기능 (또는 다른 사람)을 재정의하지 않는다면. 목록이 일반 이름이므로 더 쉽게 이름을 쉽게 찾을 수 있습니다. ;) – Eineki

+0

변경 이름 .... –

답변

6

list은 예약어로서 실제로는 기능이 아니기 때문에 예약어로 사용할 수 없으므로 비활성화 할 수 없습니다. 수업 이름과 관련하여 구체적으로 시도해보십시오 (예 : ObjectList 또는 AbstractList).

+0

내가 원하는 것이 아니라 옳은 일이라고 생각합니다. :) 나는 그것과 같은 목적을 가진 어떤 종류의 "Collection"이라는 이름을지었습니다. 나는 "generic list"타입의 객체를 사용하고있다. – Bazzz

+0

그러면'class GenericList'를 사용하지 않으시겠습니까? 'Collection'도 잘 작동합니다. – megaflop

+2

FYI : 네임 스페이스에서 클래스를 정의하는 것은 파싱 일이기 때문에 작동하지 않습니다. 또한 메소드의 이름을'list'로 지정할 수 없습니다. 다행히 당신은 당신의 변수 이름을 $ list'라는 이름으로 지정할 수 있습니다.) 상수에 대해서는 확실하지 않습니다 ... – Rudie

6

The class name can be any valid label which is a not a PHP reserved word.

List of PHP reserved wordslist 그 단어 중 하나입니다 말했다.

+0

+1입니다. –

관련 문제