WordPress: non sovraccaricare il costruttore delle classi nell'approccio OOP

WordPress: non sovraccaricare il costruttore delle classi nell'approccio OOP

Gli sviluppatori che usano WordPress adottano un approccio OOP raramente e quando lo fanno tendono a sovraccaricare il costruttore delle classi con svariati metodi richiamati all'interno di azioni o filtri di WordPress. Fortunatamente esiste una soluzione.

Di solito gli sviluppatori utilizzano il seguente pattern:


class MyClass {
	
	public function __construct() {
		add_action( 'wp_enqueue_scripts', array( $this, 'addScripts' ) );
		add_action(' wp_enqueue_styles', array( $this, 'addStyles' ) );
	
	}

	public function addScripts() {
		// carica i file JavaScript
	}
	
	public function addStyles() {
		// carica i file CSS
	}
};

$myClass = new MyClass(); // lancia le action

Il problema è che maggiore è il numero di metodi da lanciare maggiore sarà il carico di lavoro del costruttore della classe. La soluzione è quella di utilizzare una sintassi alternativa.


add_filter( 'the_content', array( 'MyClass', 'addFilterToContent' ) );
add_filter( 'the_excerpt', array( 'MyClass', 'addFilterToExcerpt' ) );

In questo modo non c'è più bisogno di utilizzare il costruttore della classe per inizializzare il codice dei metodi. La sintassi di cui sopra è l'equivalente del tradizionale operatore di scope in PHP.

Torna su