2012-05-20 11 views
8

Le versioni di PHP 5.3 o successive supportano le classi interne? esempio:supporto classi interne 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

In quale versione hai provato questo? – Lion

+1

Qual è lo scopo di una classe interiore? E quali altre lingue li supportano? Sono incuriosito. –

+0

Nessun php non supporta le classi annidate. @Lion Non penso che ci abbia provato. Contiene molti errori nessun segno '$'. nessuna parola chiave 'function' per la dichiarazione del metodo –

risposta

13

PHP attualmente (5.4.3) non supporta interno/Friend Classes

E c'è anche alcun RFC in the wiki chiedere aggiunta di una funzione come questa.

+1

Stretto. A. Il. Punto. +1 –

2

E 'possibile creare una classe all'interno di un'altra classe definiton, ma non è possibile definire una classe all'interno di una definizione di classe. Quindi questo significa che la tua costruzione non è valida.

Ma, si può sempre estendere una classe con un'altra classe, controllare questo URL per di più:

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

Controllare Can I instantiate a PHP class inside another class? ancora di più.

+0

Scusa, so come estendere una classe. Ho bisogno di creare qualcosa come questo esempio – Johntor

+0

@Johntor Sì, penso che qualcuno che chiede il nesting di classe sappia estendere, volevo solo dare un'alternativa per le persone che leggono questa cosa in futuro. – Sliq

+0

Ok scusa allora !!! (Ti ho dato +1) – Johntor

Problemi correlati