2012-05-20 3 views
8

PHP 버전 5.3 이상은 내부 클래스를 지원합니까? 예 :PHP 내부 클래스 지원

class MyClass{ 
    class PrivateClass1{ 

    } 
    class PrivateClass2{ 

    } 
    class PrivateClass3{ 

    } 

    private $obj1; 
    private $obj2; 
    private $obj3; 

    __construct(){ 
     $obj1 = new PrivateClass1(); 
     $obj2 = new PrivateClass2(); 
     $obj3 = new PrivateClass3(); 
    } 
} 
+1

어떤 버전을 사용해 보셨습니까? – Lion

+1

내부 클래스의 목적은 무엇입니까? 그리고 다른 언어들이 그들을 지원합니까? 나는 흥미가있어. –

+0

PHP는 중첩 클래스를 지원하지 않습니다. @ 라이온 나는 그가 시도한 것 같지 않습니다. 그것은 많은 오류를 포함하고 있습니다. '$ '표시가 없습니다. 메소드 선언을위한'function' 키워드가 없습니다 –

답변

13

PHP는 현재 (5.4.3) 내부/친구 클래스

를 지원 또한 더 RFC in the wiki이 같은 기능의 추가를 요구하지가 않습니다.

+1

해협. 에. 그만큼. 포인트. +1 –

2

그것은 다른 클래스의 definiton 내 을 클래스를 생성하는 것이 가능하지만이 클래스 정의 내에서 클래스를 정의 할 수 없습니다. 이것은 공사가 무효하다는 것을 의미합니다.

, 당신은 항상 더 많은이 URL을 확인, 다른 클래스와 클래스를 확장 할 수 더욱에 대한

http://php.net/manual/en/keyword.extends.php

확인 Can I instantiate a PHP class inside another class?.

+0

죄송합니다. 수업을 연장하는 법을 알고 있습니다. 이 예제와 같은 것을 만들 필요가 있습니다. – Johntor

+0

@Johntor 예. 클래스 중첩을 요구하는 사람이 확장에 대해 알고 있다고 생각합니다. 장래에이 것을 읽는 사람들에게 대안을주고 싶었습니다. – Sliq

+0

죄송합니다. (+1 했어) – Johntor