Joomla.it Forum

Non solo Joomla... => Sviluppo => : james81 12 Oct 2014, 17:25:56

: recuperare dati sessione
: james81 12 Oct 2014, 17:25:56
Ciao a tutti
ho bisogno di un vostro consiglio:
ho creato un componente per j3.0 nel quale vorrei visualizzare dei dati se l'utente è loggato o meno.

All'interno del mio codice ho inserito questo controllo prima del ciclo if:

:
$user =& JFactory::getUser();
$usernet =  $user->get('id');
if (empty($usernet)) { ?>...

ma mi restituisce questo errore:

 Strict Standards:  Only variables should be assigned by reference in....

e fà riferimento alla prima riga del codice sopra postato, da cosa può dipendere?

grazie
: Re:recuperare dati sessione
: steganoga 12 Oct 2014, 19:15:00
Only variables should be assigned by reference -> Solo le variabili possono essere assegnate per referenza
assegnate -> =
assegnate per referenza -> =&
variabile -> $pippo = 'hello';
classe -> JFactory
metodo chiamato staticamente -> ::getUser();
proprietà protetta -> id a cui è necessario accedere con ->get( ); che immagino sia un metodo pubblico o all'interno della classe che lo definisce -> incapsulamento

non vedo la sessione ne che ne fai uso
: Re:recuperare dati sessione
: mmleoni 13 Oct 2014, 08:41:23
in maniera un poco più semplice...

dipende dal fatto che JFactory::getUser() restituisce un oggetto, quindi è già una referenza (puntatore) e non una variabile, ergo non puoi usare =& ma devi usare =.

in realtà id e molte altre (name, username, email) sono public, quindi vi si può accedere direttamente ($user->id), comunque il tuo codice è sbagliato: se l'utente non è loggato hai id==0.

if (empty($usernet))  ===> if (!$usernet)

se capisco ciò che vuoi fare, che non è troppo chiaro...

ciao,
marco