Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Objeto de sesión, duda!

Estas en el tema de Objeto de sesión, duda! en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Qué tal amigos foreros, bien, mi duda es la siguiente: Creé unas clases, y quiero instanciar un objeto y guardarlo en una variable de sesión, ...
  #1 (permalink)  
Antiguo 04/09/2008, 08:42
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Objeto de sesión, duda!

Qué tal amigos foreros, bien, mi duda es la siguiente:

Creé unas clases, y quiero instanciar un objeto y guardarlo en una variable de sesión, todo bien, de hecho funciona todo, pero mi duda es que no sé cuál sea la diferencia de hacer esto:

Código PHP:
   // poner el nombre de la variable con comillas ''
   
$_SESSION['variable']= new miClase();

   
// o poner el nombre de la variable SIN comillas
   
$_SESSION[variable]= new miClase(); 
ya lo probé de las dos formas y funciona bien, de hecho si lo mezclo también funciona, pero creo que es importante saber si existe alguna diferencia

Saludos y gracias de antemano
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
  #2 (permalink)  
Antiguo 04/09/2008, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Objeto de sesión, duda!

Hola memoo,

Si usas la segunda forma, y corres bajo E_STRICT, PHP te marcara un warning de que la constante variable no esta definida, ya que si ves el manual de PHP, las variables se manejan con $variable, y las cadenas de texto con comillas dobles o simples.

Para los arreglos las llaves pueden ser, cadenas de texto o numeros, por lo que si tu defines en algun lado una constante la puedes usar:
Código PHP:
define'MI_LLAVE''hola' );

$arreglo = array();
$arreglo['hola'] = "Hola como estas";

echo 
$arreglo[MI_LLAVE]; 
y puedes ver como te imprime "Hola como estas", por lo que si tu programas tus scripts de la segunda forma, eventualmente te marcara un error de colision de nombres.

Saludos.
  #3 (permalink)  
Antiguo 04/09/2008, 10:14
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Bueno, entonces, si lo quiero hacer sin comillas es necesario declarar el nombre de la variable como constante no?

y si lo quiero hacer con comillas no es necesario...

Gracias por responder, como siempre GatorV :D
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS

Última edición por GatorV; 04/09/2008 a las 12:08
  #4 (permalink)  
Antiguo 05/09/2008, 15:29
str
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Desacuerdo Respuesta: Objeto de sesión, duda!

Cita:
Iniciado por memoo Ver Mensaje
Bueno, entonces, si lo quiero hacer sin comillas es necesario declarar el nombre de la variable como constante no?

No, significa que si lo hacés sin comillas, está mal, y que lo que estás tratando de hacer no es lo que está sucediendo...
  #5 (permalink)  
Antiguo 05/09/2008, 19:06
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: Objeto de sesión, duda!

¿Consultaste en el manual? ¿qué decía?

$_SESSION es un array, y lo que haces es pasar la "clave" que debe ir entre comillas, ya que es un string.

Que funcione "sin", es porque PHP es demasiado bueno.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #6 (permalink)  
Antiguo 05/09/2008, 22:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Objeto de sesión, duda!

en corto, nunca ha sido (ni lo sera) un buena forma de escribir llaves de un arreglo como constantes.... nunca!

muchos hace esto...

Código PHP:
echo $_GET[mi_variable]; // que horror!!! 
digo, error.... ya que como GatorV te menciono.... es una falta grave, de veras....

Código PHP:
// pero si haces esto....

define('foo''bar');

echo 
$_GET[foo]; 
no pasa nada, de echo... es completamente valido (pero no es lo correcto, ni lo ideal)

en primer lugar, usas mas caracteres de los que necesitas, es mejor si lo hicieras bien...

luego, es completamente innecesario.... no tiene sentido, ni objetivo real... osea, es pura blasfemia... (eso pienso yo, es... absurdo)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:48.