Yii Framework Forum: Yii::app()->User - Yii Framework Forum

Jump to content

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

Yii::app()->User come interpretarlo ? Rate Topic: -----

#1 User is offline   rickyherbal 

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

Posted 18 April 2013 - 04:45 PM

Ciao a tutti !

Sono un nuovo utilizzatore di Yii, e vorrei cercare di capire il più possibile di questo interessante framework.

Leggendo il codice autogenerato della mia prima applicazione mi sono inbattuto nella seguente istruzione

Yii::app()->user

ora, secondo le mie conoscenze di programmazione oop, Yii::app() dovrebbe stare a significare che si cerca di accedere al metodo statico app() della classe Yii, il quale metodo restituisce secondo la documentazione ufficiale l'istanza della classe CApplication. E' esatto ?

Quindi se restituisce un oggetto istanza di CApplication nella documentazione ufficiale di tale classe nella lista delle proprietà ci dovrebbe essere user.. perchè invece non lo trovo ?

Grazie in anticipo per l'aiuto !
0

#2 User is offline   sensorario 

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

Posted 18 April 2013 - 04:48 PM

Mmmm cerchi user dentro Yii::app()?
0

#3 User is offline   rickyherbal 

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

Posted 18 April 2013 - 05:48 PM

View Postsensorario, on 18 April 2013 - 04:48 PM, said:

Mmmm cerchi user dentro Yii::app()?


No lo cerco in CApplication

http://www.yiiframew....1/CApplication

ma nella lista delle proprietà non c'è !
0

#4 User is offline   st4nny 

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

Posted 18 April 2013 - 06:44 PM

app() ritorna il singleton, quindi l'istanza globale di yii, user invece fa riferimento a CWebUser come puoi leggere dalla documentazione:
http://www.yiiframew...pi/1.1/CWebUser
0

#5 User is offline   rickyherbal 

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

Posted 19 April 2013 - 03:44 AM

View Postst4nny, on 18 April 2013 - 06:44 PM, said:

app() ritorna il singleton, quindi l'istanza globale di yii, user invece fa riferimento a CWebUser come puoi leggere dalla documentazione:
http://www.yiiframew...pi/1.1/CWebUser


non mi è molto chiaro allora.. perchè usare una sintassi come questa se user non è una proprietà dell'oggetto istanziato da Yii::app() ?

Scusate ma sono alle prime armi e mi sembra tutto complicato e poco chiaro..
0

#6 User is offline   st4nny 

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

Posted 19 April 2013 - 04:59 AM

guardati un pò come funziona:
http://www.yiiframew...Base#app-detail

http://www.yiiframew...1/it/basics.mvc
0

#7 User is offline   rickyherbal 

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

Posted 24 April 2013 - 04:38 AM

View Postst4nny, on 19 April 2013 - 04:59 AM, said:



ho letto la documentazione ma (sarà per colpa mia) non riesco a capire il perchè

ad esempio anche qui un utente ha esposto il mio medesimo dubbio

http://www.yiiframew...app-properties/

e nonostante nella documentazione sia scritto chiaramente che Yii::app() ritorna CApplication (http://www.yiiframew...Base#app-detail) gli viene risposto che invece ritorna CWebApplication... boh.. non sarà magari un errore nella documentazione ?
0

#8 User is offline   dky 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 18
  • Joined: 18-September 12

Posted 24 April 2013 - 07:45 AM

Aggiungo una domanda che fa sempre riferimento ad Yii::app()->user senza aprire un nuovo thread.

Si può utilizzare al posto delle sessioni, ad esempio, per memorizzare temporaneamente le informazioni di un utente che fa il login?
0

#9 User is offline   st4nny 

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

Posted 24 April 2013 - 04:48 PM

si. guardati setState e getState
0

#10 User is offline   rickyherbal 

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

Posted 27 April 2013 - 01:55 PM

View Postrickyherbal, on 24 April 2013 - 04:38 AM, said:

ho letto la documentazione ma (sarà per colpa mia) non riesco a capire il perchè

ad esempio anche qui un utente ha esposto il mio medesimo dubbio

http://www.yiiframew...app-properties/

e nonostante nella documentazione sia scritto chiaramente che Yii::app() ritorna CApplication (http://www.yiiframew...Base#app-detail) gli viene risposto che invece ritorna CWebApplication... boh.. non sarà magari un errore nella documentazione ?


nessuno che sappia rispondermi ? :|
0

#11 User is offline   st4nny 

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

Posted 27 April 2013 - 06:23 PM

Nel caso di una applicazione web Yii::app() ti ritorna CWebApplication che estende CApplication, essendo la classe che si occupa di gestire le funzionalità specifiche per le richieste web, gestisce i controller applicando l'MVC all'interno della applicazione e tutta una serie di altre cose.
0

#12 User is offline   dchan 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 28-March 11
  • Location:Italy

Posted 28 April 2013 - 03:04 PM

Provo a rispondere:
nel tuo file index.php troverai all'ultima riga:

Yii::createWebAppliation($config)->run();


Questa istruzione esegue la funzione createWebApplication contenuta nel YiiBase (classe estesa dalla classe Yii che istanzi nell'index.php) alla riga 96,
almeno nella versione del framework 1.1.13. Questa funzione istanzia la classe CWebApplication (/framework/web/CWebApplication.php) che è a sua volta una
estensione della classe CApplication (/framework/base/CApplication.php).

La __construct di questa classe comanda di eseguire la funzione registerCoreComponents(). Nel caso di una WebApplication, questa è stata estesa per eseguire la funzione setComponents() passandogli come parametri un array di valore che comprende anche il famigerato 'user'...

Questa funzione si trova nel file /framework/web/CModule.php (CApplication è una estensione di CModule) che a sua volta esegue, per ogni elemento dell'array
passato come parametro, la funzione setComponent (senza la 's') che fà una serie di cose...

Capisco bene che potrebbe sembrare "arabo" :-) e non voglio assolutamente sembrare uno di quelle persone alle quali fai le domande e che
ti rispondono "leggi la documentazione", ma penso che sia più utile, per chiarire i tuoi dubbi, spulciare il codice seguendo le funzioni sopra descritte...
Spero almeno di avere descritto i files corretti...

Grazie per la domanda perchè è stato un buon esercizio anche per me.
1

#13 User is offline   rickyherbal 

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

Posted 30 April 2013 - 03:08 PM

View Postdchan, on 28 April 2013 - 03:04 PM, said:

Provo a rispondere:
nel tuo file index.php troverai all'ultima riga:

Yii::createWebAppliation($config)->run();


Questa istruzione esegue la funzione createWebApplication contenuta nel YiiBase (classe estesa dalla classe Yii che istanzi nell'index.php) alla riga 96,
almeno nella versione del framework 1.1.13. Questa funzione istanzia la classe CWebApplication (/framework/web/CWebApplication.php) che è a sua volta una
estensione della classe CApplication (/framework/base/CApplication.php).

La __construct di questa classe comanda di eseguire la funzione registerCoreComponents(). Nel caso di una WebApplication, questa è stata estesa per eseguire la funzione setComponents() passandogli come parametri un array di valore che comprende anche il famigerato 'user'...

Questa funzione si trova nel file /framework/web/CModule.php (CApplication è una estensione di CModule) che a sua volta esegue, per ogni elemento dell'array
passato come parametro, la funzione setComponent (senza la 's') che fà una serie di cose...

Capisco bene che potrebbe sembrare "arabo" :-) e non voglio assolutamente sembrare uno di quelle persone alle quali fai le domande e che
ti rispondono "leggi la documentazione", ma penso che sia più utile, per chiarire i tuoi dubbi, spulciare il codice seguendo le funzioni sopra descritte...
Spero almeno di avere descritto i files corretti...

Grazie per la domanda perchè è stato un buon esercizio anche per me.


Grazie a te per la risposta ! proverò a spulciare il codice secondo le indicazioni che mi hai dato, anche se sono non mi sono del tutto chiare :|

confesso che un pò, però, comincio a pensare che quanto scritto nella documentazione sul fatto che app() ritorni CApplication possa essere inesatto, visto che in realtà ritorna CWebApplication..
0

#14 User is offline   sensorario 

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

Posted 01 May 2013 - 03:57 PM

View Postrickyherbal, on 30 April 2013 - 03:08 PM, said:

Grazie a te per la risposta ! proverò a spulciare il codice secondo le indicazioni che mi hai dato, anche se sono non mi sono del tutto chiare :|

confesso che un pò, però, comincio a pensare che quanto scritto nella documentazione sul fatto che app() ritorni CApplication possa essere inesatto, visto che in realtà ritorna CWebApplication..


Si però, ... CWebApplication estende CApplication.
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