Sto studiando la documentazione ufficiale di Yii ma spesso mi imbatto in dubbi amletici come il seguente.
Il file index.php è il file di ingresso per l’applicazione, l’unico richiamabile direttamente dall’utente.
All’interno è presente questa istruzione
Yii::createWebApplication($config)->run();
la quale se non ho capito male richiama il metodo statico createWebApplication della classe Yii (in realtà YiiBase) alla quale passa il file di configurazione main.php.
Tale metodo restituisce un istanza della classe CWebApplication, di cui viene richiamato il metodo run() per avviare l’applicazione.
Se tutto quello che ho scritto fin qui è esatto la domanda è: la mia intera applicazione è quindi un istanza di CWebApplication ? e quindi viene vista come un oggetto ?
Noi informatici (programmatori) siamo soliti risolvere determinati problemi. Quando un problema è ricorrente si va a definire un pattern. I "Desgin Pattern" sono "problemi già risolti". Il Singleton è un pattern che consente di avere una ed una sola istanza di una classe. Yii è un singleton e ti permette, nonostante chiamate come queste, di non instanziare mai il secondo oggetto.