2012-05-20 2 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 не поддерживает вложенные классы. @Lion Я не думаю, что он пытался. Он содержит множество ошибок. no '$' sign. ключевое слово 'function' для объявления метода –

ответ

13

PHP в настоящее время (5.4.3) не поддерживает Inner/Friend Классы

И также нет 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

Смежные вопросы