Questo in realtà deriva da un problema specifico di WordPress, ma dietro c'è un punto di PHP più generale a cui sono interessato a conoscere la risposta.È possibile sostituire una funzione all'interno di una classe PHP?
classe L'WordPress è lungo queste linee:
class Tribe_Image_Widget extends WP_Widget {
function example_function(){
// do something useful
}
}
C'è un modo in PHP che posso sostituire example_function()
dall'esterno della classe?
Il motivo per cui voglio farlo è che la classe proviene dal plugin WP di qualcun altro (e ha diverse funzioni nella classe) e voglio continuare a ricevere gli aggiornamenti del plugin ma voglio che una delle funzioni sia adattata. Se cambio il plug-in, perderò ogni volta le mie modifiche. SO se ho il mio plugin che cambia solo quella funzione, evito il problema.
Puoi impostare la classe originale come un astratto e impostare il metho d come metodo astratto? –
Lookup: http://stackoverflow.com/questions/2994758/function-overloading-and-overriding-in-php –
Dichiarare astratto sarà solo evitare che la classe originale da essere utilizzato direttamente e lui devono ancora modificalo ogni volta. – Narf