Come dovrei scrivere un nuovo codice quando il vecchio codebase e l'ambiente usano molti globals in PHP

3

Sto lavorando nell'ambiente Wordpress che si affida pesantemente a globals e il codice che sto mantenendo introduce ancora. Voglio che questo cambi e quindi sto cercando di pensare a come dovrei gestirlo.

Per i globals che il nostro codice ha introdotto penso che li imposterò come dipendenze nel costruttore o in getter / setter in modo che non faccia affidamento su di essi come globali e quindi a poco a poco refappero la vecchia base di codice in modo da avere niente globalmente.

Con le Wordpress globals stavo pensando di avvolgere tutte le WP globals all'interno di una classe Wrapper e nasconderle lì. In questo modo

class WpGlobals {
    public static function getDb() {
        global $wpdb;
        return $wpdb;
    }
}

Questo sarebbe di qualche aiuto? L'idea è di centralizzare tutti i globals in una classe e di non disperdere il codice, in modo che se Wordpress uccide uno di essi ho bisogno di modificare il codice solo in un posto.

Che cosa faresti?

    
posta Nicola Peluchetti 01.07.2012 - 18:08
fonte

1 risposta

1

Recentemente ho iniziato a lavorare su un progetto Wordpress. Concludiamo tutte le chiamate alle funzioni di Wordpress in una classe wrapper. Ciò semplifica l'unità di test del nostro codice.

Ho una funzione che restituisce la connessione db come fai tu. In questo modo posso deriderlo.

    
risposta data 03.07.2012 - 21:18
fonte

Leggi altre domande sui tag