può fare qualcosa di simile in PHP:Chiamare un metodo eccellente in PHP
function foo()
{
super->foo();
// do something
}
può fare qualcosa di simile in PHP:Chiamare un metodo eccellente in PHP
function foo()
{
super->foo();
// do something
}
Sì, si chiama parent::
però.
public function foo()
{
parent::foo(); // this is not a static method call, even though it looks like one
//do something
}
Ho già fatto +1 su questa risposta, tuttavia mi trovo di nuovo qui. Così facilmente dimentico queste cose. –
@Mike, vorrei fare +1 su questo commento se fosse possibile ... :) –
L'ho dimenticato perché è una sintassi così strana. Sembra di chiamare un metodo statico. –
uso parent;
parent::foo();
'->' attiverà l'errore fatale. Usa sempre '::'. PHP chiamerà il genitore nella stessa modalità (istanza/statico) quando è stato chiamato figlio. – webbiedave
sì, l'ho erroneamente scritto e risolto entro 10 secondi;) –
Cool. +1 ------ – webbiedave
Intendi chiamare il metodo della classe genitore? In tal caso dovresti:
class Bar
{
public function foo()
{
// blah
}
}
class Baz extends Bar
{
public function foo()
{
parent::foo();
}
}
Puoi chiarire che cos'è * super *? Sei in una classe con questo? –
@Pekka: super è la parola chiave utilizzata da Java per accedere ai costruttori e ai metodi della sua classe genitore. Altre lingue possono usare questa parola chiave. – Powerlord
@R. Bemrose ah, okay. Questo spiega anche perché così tante persone hanno detto subito "genitore" –