Quando si esegue questa operazione, è un processo in più fasi.In genere, c'è un prodotto esistente da mantenere in esecuzione. Riscrivere da zero è raramente un'opzione, anche se alla fine lo si fa.
- cominciare a scavare manuale istruzioni include e realizzare un caricatore automatico, ove possibile (richiede molti passaggi)
- Creare uno script di aiuto per simulare magic quotes & globali registro. In questo modo è possibile disattivarlo in PHP, mantenendo il codice esistente in esecuzione
- Rimuovere gradualmente le strip_slashes eccessive o le chiamate add_slashes, se applicabile. Lo script di supporto ti consente di farlo per file.
- Verificare che le variabili abbiano scope corretto
- Separare il codice di presentazione. Considerare Smarty o modello alternativo sistema
- Spostare il DB chiama a DOP e l'utilizzo dei parametri di sostituzione per tutto
- guardare il codice e pensare spegnendo un front controller
Ho poi guardo il progetto e determino come ho intenzione di alterare la logica stessa. Spesso, se non ci sono funzioni, la mia prima pass è quella di avvolgere comportamenti comuni in metodi statici. Ottieni il maggior riutilizzo senza troppi sforzi, quindi non sono ancora interessato all'organizzazione.
Dopo la riduzione della ridondanza, arrivo all'organizzazione. È in questa fase che comincio a pianificare i miei modelli di classe e a ridefinire le funzioni in metodi puliti. Questo è anche il momento per i test automatici (phpunit). Una volta che sono ragionevolmente fiducioso, aggiungo alcuni controller e integro i modelli, quindi ho finito ... salvo uno o due ulteriori passaggi.
Per me, si tratta di identificare dove sono, dove voglio essere e fare un piano che può essere eseguito in diversi piccoli passi. Ognuno ha i propri obiettivi, quindi non c'è un piano magico da seguire tranne il tuo.
Non penso che il non-OOP e il non-quadro siano un difetto in sé. Puoi scrivere app PHP perfettamente funzionanti senza nessuna di queste e, se l'applicazione funziona e ragionevolmente gestibile, non avere OOP o framework non è un buon motivo per iniziare a modificare il codice. Cattive pratiche di sicurezza (ad esempio iniezioni SQL e HTML sistemiche) e scarsa manutenzione (molte app di PHP soffrono di mancanza di commenti, cattivo mix di logica di azione con presentazione, assenza di struttura, rientro o modo coerente di fare le cose) - queste sono buone ragioni per aggiornare/riscrivere. – bobince
Sto codificando qualcosa in questo momento in PHP e non uso un framework o OOP. Penso che i framework siano solo un extra bagaglio in una piccola applicazione e non mi sono mai preoccupato di come OOP è stato gestito in PHP. Ma non sono nemmeno una di quelle persone che pensano "Un'applicazione non è strutturata correttamente se non ci sono almeno 5 gradi di eredità dove va il codice effettivo che fa il lavoro" – Earlz