Foros del Web » Programando para Internet » PHP »

definir variable en clases

Estas en el tema de definir variable en clases en el foro de PHP en Foros del Web. Buenas, De que manera es mejor definir variables para una clase. Opcion 1. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original class comment extends event {   ...
  #1 (permalink)  
Antiguo 08/09/2012, 00:44
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
definir variable en clases

Buenas,

De que manera es mejor definir variables para una clase.

Opcion 1.

Código PHP:
Ver original
  1. class comment extends event{
  2.  
  3.    $id_event_comment = null;
  4.    $id_event = null;
  5.    $id_user = null;
  6.    $comment = null;
  7.    $date = null;
  8.  
  9.    function get(){
  10.  
  11.    //sql obtenemos todos los comentarios de un evento
  12.    $sql =.....
  13.  
  14.    $this->id_event_comment = $sql[0]['id_event_comment'];
  15.    $this->id_event = $sql[0]['id_event];
  16.   $this->id_user = $sql[0]['id_user'];
  17.   $this->comment = $sql[0]['comment];
  18.    $this->date = $sql[0]['date'];
  19.  
  20.    }
  21.  
  22.    function get_comment(){
  23.       return $this->comment;
  24.  
  25.    }
  26.  
  27.  
  28. }

Opcion2.

Código PHP:
Ver original
  1. class comment extends event{
  2.  
  3.    function get(){
  4.  
  5.    //sql obtenemos todos los comentarios de un evento
  6.    $sql =.....
  7.  
  8.    $this->id_event_comment = $sql[0]['id_event_comment'];
  9.    $this->id_event = $sql[0]['id_event];
  10.   $this->id_user = $sql[0]['id_user'];
  11.   $this->comment = $sql[0]['comment];
  12.    $this->date = $sql[0]['date'];
  13.  
  14.    }
  15.  
  16.    function get_comment(){
  17.       return $this->comment;
  18.  
  19.    }
  20.  
  21.  
  22. }


Como podran observar en la primera opcion defino las variables como null y en la dos no.
Mi pregunta es, cual es la mejor opcion??
En la segunda la ventaja que tiene es que no cargas en la memoria del servidor todas las variables sino que cuando las utlizas las cargas.
En este ejemplo es una tonteria porque se usan todas pero podes tener clases con muchas variables y que aveces no utlizas.

Un saludo
  #2 (permalink)  
Antiguo 08/09/2012, 02:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: definir variable en clases

1. La declaración de variables no consume memoria, tan solo es la definición de tu objeto
2. Además tu primer versión es cero compatible con el OOP de PHP
3. Por favor lee el manual y respeta los estándares
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/09/2012, 03:42
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: definir variable en clases

Cita:
Iniciado por pateketrueke Ver Mensaje
1. La declaración de variables no consume memoria, tan solo es la definición de tu objeto
2. Además tu primer versión es cero compatible con el OOP de PHP
3. Por favor lee el manual y respeta los estándares
Ya lo lei en su momento. Podrias explicar que esta mal, segun vos.

Un saludo
  #4 (permalink)  
Antiguo 08/09/2012, 04:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 55
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: definir variable en clases

Código:
class Datos_Perfil  {

#Atributos
private $NombreUsuario;

	
	#Metodos
	public function Get_Datos_Perfil ($Nick){
	
		$this -> NombreUsuario      = $Nick;

	        #CONSULTAS, INSERTAR, ELIMINAR ... LOQ QUIERAS AQUI		


	}
}


#INICIAMOS LA CLASE
$Iniciar_Get_Datos = new Datos_Perfil();

Y como la llamamos por ejemplo para insertar datos obtenidos de un formulariooo ...pues muy simple....

Código:
#Hacemos un INCLUDE 
include("Nombre y Ruta Del Archivo Donde Esta La Clase.php");



#Pues como ves en la clase solo hay una sola funcion y como la llamamos ? pues de la siguiente manera


$Nombre = $_GET['NameUser'];

$Iniciar_Get_Datos->Get_Datos_Perfil ($Nombre);
  #5 (permalink)  
Antiguo 08/09/2012, 05:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: definir variable en clases

Cita:
Iniciado por Snoopy1413 Ver Mensaje
Código:
class Datos_Perfil  {

#Atributos
private $NombreUsuario;

	
	#Metodos
	public function Get_Datos_Perfil ($Nick){
	
		$this -> NombreUsuario      = $Nick;

	        #CONSULTAS, INSERTAR, ELIMINAR ... LOQ QUIERAS AQUI		


	}
}


#INICIAMOS LA CLASE
$Iniciar_Get_Datos = new Datos_Perfil();

Y como la llamamos por ejemplo para insertar datos obtenidos de un formulariooo ...pues muy simple....

Código:
#Hacemos un INCLUDE 
include("Nombre y Ruta Del Archivo Donde Esta La Clase.php");



#Pues como ves en la clase solo hay una sola funcion y como la llamamos ? pues de la siguiente manera


$Nombre = $_GET['NameUser'];

$Iniciar_Get_Datos->Get_Datos_Perfil ($Nombre);

la unica diferencia que veo con respecto al ejemplo que hice yo y que esta incompleto porque solo era un ejemplo, es que tengo que declarar si es public private... a una funcion o variable para que no se pueda acceder desdes otras lugar.
es correcto??

Etiquetas: clases, definir, sql, variables
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 09:20.