2009-07-14 22 views
9

Próbuję sprawdzić, czy mogę to zrobić, czy nie. Mam klasę o nazwie Szablon. i chcę rozszerzyć tę funkcjonalność klas w innym pliku, ale nie chcę zmieniać nazwy.W PHP można rozszerzyć klasę o tę samą nazwę?

Czy mogę zadeklarować ją jako

class template extends template 
{ 
    // code here 
    function foo() 
    { 

    } 
} 

czy mogę po prostu zadeklarować to w ten sposób?

class template 
{ 
    // write function 
    function foo() 
    { 

    } 
} 

Odpowiedz

-3

Możesz chcieć sprawdzić classkit

+0

W tym przypadku zmieniają się funkcje kodowania, pozwala to na to, ale nie jest to właściwe i łatwe. jak uaktualnić oprogramowanie powinno być bezpośrednio przez klasę. –

1

Jeśli chcesz użyć metody/właściwości oryginalnej klasy można go przedłużyć, ale trzeba użyć innej nazwy, w przeciwnym razie pojawi się błąd o redeclaring klasę.

Zasadniczo:

class template {} 

/* both fail with "cannot redeclare class template */ 

class template extends template {} 

class template {} 
+1

No dobrze. Dziękuję –

21

Tylko wtedy, gdy klasa dominująca jest w innej przestrzeni nazw.

use SomeNamespace\Template as BaseTemplate; 

class Template extends BaseTemplate 
{ 
    //... 
} 
Powiązane problemy