Mi sono costruito un framework MVC PHP per soddisfare le mie esigenze. Poiché quasi tutte le classi principali sono statiche, mi sono imbattuto nell'idea di avere controller statici. So che per qualche motivo le classi statiche non sono percepite bene dai programmatori, tuttavia se una classe non ha senso avere un'istanza, non riesco davvero a vedere alcuna buona ragione per crearne una.
Ad esempio la classe System
(b.k.a. App
in altri framework) che inizializza l'intero framework include i file di configurazione e chiama il front controller. Non ci possono essere due istanze di questa classe: il sistema viene inizializzato solo una volta. Sì, ha anche altre funzioni, ma nessuna si riferisce a un'istanza: getClientIP
, handleException
, handleError
ecc.
Quindi seguendo lo stesso percorso logico, i miei controllori non hanno proprietà e sono generalmente utilizzati una volta per richiesta. Tuttavia, quando ci penso, non ho mai visto un framework con controller statici. Classi di librerie statiche - sì, ma controller statici - mai. C'è qualche buona ragione per non avere controller statici in un framework MVC?
P.S .: E sì, so che non ci sono ancora classi statiche in PHP, in pratica quello che chiamo una classe statica è una classe con un costruttore privato e solo metodi statici.