Yii Framework Forum: Yii::createwebapplication - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Yii::createwebapplication chiarimenti Rate Topic: -----

#1 User is offline   rickyherbal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 18-April 13

Posted 21 April 2013 - 02:46 PM

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 ?
0

#2 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 22 April 2013 - 07:32 AM

Si, e questo pattern si chiama Singleton.
0

#3 User is offline   rickyherbal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 18-April 13

Posted 23 April 2013 - 02:23 AM

View Postsensorario, on 22 April 2013 - 07:32 AM, said:

Si, e questo pattern si chiama Singleton.


Mi spieghi cosa intendi per pattern ?

Comunque grazie per la conferma, leggendo la guida ufficiale ecco alcuni passaggi che dovrebbero confermare quanto detto:

"The bootstrap script creates an Application instance and runs it"

"The application object encapsulates the execution context within which a request is processed"

"The application object is istantiated ad a singleton by the entry script. The application singleton can be accessed at any place via Yii::app()."

"By default, the application object is an instance of CWebApplication"
0

#4 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 336
  • Joined: 10-April 12

Posted 23 April 2013 - 07:20 AM

leggiti qualcosa su design pattern, anche se la tua richiesta esula un pò dal forum dedicato a yii
0

#5 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 24 April 2013 - 05:50 PM

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.

echo Yii::app()->user;
echo Yii::app()-> ... ;
echo Yii::app()-> ... ;
echo Yii::app()-> ... ;
echo Yii::app()-> ... ;


Yii viene instanziato una sola volta.
0

#6 User is offline   rickyherbal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 18-April 13

Posted 30 April 2013 - 02:58 PM

Grazie ! sei stato molto chiaro ;)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users