Joomla.it Forum
Non solo Joomla... => Sviluppo => : 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
-
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
-
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