2010-02-11 2 views
0

에는 공개, 비공개 등이 없습니다. 클래스의 속성을 비공개로 설정하고 getter/setter를 통해서만 액세스 할 수 있도록 일종의 해결 방법이 있는지 궁금합니다.PHP4에서 클래스 속성을 비공개로 만드는 방법은 무엇입니까? PHP4의

감사합니다.

+3

PHP 4의 기능을 비공개로 할 수있는 방법이 없다? 3 년 전에 중단되었습니다! http://us.php.net/archive/2007.php –

+0

가장 중요한 질문입니다. 이것은 언어 이론에 관한 것입니까, 아니면 실제 새로운 코드를 작성하는 것입니까? –

+1

많은 수의 공유 호스트가 여전히 PHP 4 만 지원하므로 PHP 5로 쉽게 업그레이드 할 수있는 것은 아닙니다. –

답변

5

이러한 속성의 사용을 명확히 제한하는 고유 한 구문을 사용하여이 문제에 접근 할 수 있습니다. 메소드 이름을 밑줄로 시작하는 파이썬 구문을 빌려 private으로 정의 할 수 있습니다.

이것은 누구도 사용하지 못하도록 차단하지 않지만 사용법은 권장하지 않습니다.

3

수 없습니다. 속성 자체는 공개되어 있으므로 누구나 getter/setter를 사용하지 않고도 액세스 할 수 있으므로 실제로 체크인하는 것을 방지 할 수 있습니다.

2

죄송합니다.

자신의 getter 및 setter 함수를 작성하고 어떤 속성이 private/public/protected인지 테이블을 유지함으로써 해결 방법을 구축 할 수는 있지만 가능하지 않습니다. PHP 4는 실제로 구식입니다 (here 참조).

2

당신은 여전히 ​​변수에 대한 getter 및 setter를 쓸 수 있지만, 왜 당신은 여전히 ​​PHP4를 사용하는

관련 문제