PHP domanda controllo metodi doppi, programmare a classi
Ciao a tutti,
Se qualcuno di voi aveva visto l'esempio MVC che avevo postato un pò di tempo fa, ha notato che la logica era molto semplice ad ogni azione passata da Ajax corrisponde un metodo nella classe ajaxModel, bene io ho allargato questa dinamicità ed in poche parole ad ogni azione=PIPPO il parse cerca in tutta la cartella model TUTTE LE CLASSI e cerca IL METODO PIPPO, dinamicamente istanzia la classe che ha il metodo PIPPO ed invoca il metodo.Ovviamente funziona anche se B etends A e C extends B perchè recupera i metodi da C che include tutti i metodi di A e di B, tutto funziona perfettamente, ogni file con l'autoload deve avere la prima classe = nomeFile.php(questa è una regola con l'autoload), ok ci siamo.
Qualì'è il problema?
Io ho fatto diverse funzioni metodo che mi debuggano tutte le classi nella CARTELLA model, quindi mi dice, quante e quali classi ci sono, se una classe ha figli, quali sono i padri della classi, quali sono i metodi delle classi padri etc...etc...
Il problema è che se io programmatore inserisco due metodi con lo stesso nome dentro due classi diverse o anche dentro una classe parente, il software funziona ma entra nel primo metodo che trova, io vorrei avvertire GUARDA CHE IL METODO E' DOPPIO.
Innanzi tutto avvertire se i metodi hanno lo stesso nome ma in classi che non sono parenti, ovviamente questa è una chicca perchè chi sviluppa dovrebbe stare attento a non scrivere due funzioni con lo stesso nome, lo stesso vale per i metodi, ma io vorrei scorrere tutti i metodi ed i metodi delle classi padri, ciclare i metodi doppi esempio se B extends A e C extends A ovviamente i metodi di B e C hanno dei metodi comuni che sono quelli di A ma non sono doppi perchè sono comuni alla classe padre sia di B che di C.
Secondo voi si può fare una cosa del genere o diventa troppo dispendiosa?
Ad oggi al programmatore non rimane altro che scrivere una classe scrivere un metodo e se vuole entrare con ajax in quel metodo basta chiamare index.php?azione=metodo lui dinamicamente prende la classe che ha il metodo valorizzato istanzia la classe e invoca il metodo, è comodo ed anche il debug è puntuale perchè ad ogni azione corrisponde uno ed un solo metodo.
Ovviamente non voglio usare i namespace perchè OGNI METODO DEVE ESSERE UNIVOCO, per ragioni di velocità di debug ed analisi del codice.
Secondo voi c'è una possibilità per controllare che i metodi non siano doppioni ed ovviamente doppioni sono solo quelli che non sono comuni alle classi figlie con lo stesso padre....Io ho quasi fatto nel senso ho tutti i dati ma devo analizzare i diversi casi cioè se B extends A e C extends B e D extends C e E extends B per esempio oppure B extends A e C extends A...etc...qualcuno di voi sa come poter fare con poche righe di codice?