Regresar   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 04/05/08, 18:32:06   #1 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
coleccion de objetos

tengo una clase(Almacen) que tiene una coleccion de Productos, ahora bien como represento eso en php _??
  Responder Con Cita
Antiguo 05/05/08, 00:12:42   #2 (permalink)
eddwinpaz no ha recibido karma de otros usuarios
 
Registrado: nov 2007
Ubicación: San Cristobal , Venezuela
Mensajes: 528
Contactar con eddwinpaz a través de MSN Send a message via Skype™ to eddwinpaz
eddwinpaz is offline  
Re: coleccion de objetos

rrrrmm... si tienes una clase dominas objetos... o ejemplo

Código PHP:
 $almacen = new almacen();
 
 
// [ID_PRODUCTO] , [TIPO PRODUCTO]
 
$almacen->consultarProducto('1','viveres');
 
$almacen->imprimir(); 
Bueno las clase se definen como métodos y atributos

los métodos son las funciones y los atributos los valores que seran modificados por los métodos...
__________________
Necesita desarrollar su aplicacion web ? Naptel La empresa venezolana de aplicaciones web le puede ayudar. www.naptel.com.ve
  Responder Con Cita
Antiguo 05/05/08, 06:13:37   #3 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
Re: coleccion de objetos

mira lo que no se es como representarlo, es decir como pongo un atributo(Lista) en la clase Almacen del tipo Producto ??

en C# por ejemplo lo hacia de esta forma:
class Almacen {
private List<Prducto> miLista = new List<Producot>();
.....
}
  Responder Con Cita
Antiguo 05/05/08, 06:25:34   #4 (permalink)
eddwinpaz no ha recibido karma de otros usuarios
 
Registrado: nov 2007
Ubicación: San Cristobal , Venezuela
Mensajes: 528
Contactar con eddwinpaz a través de MSN Send a message via Skype™ to eddwinpaz
eddwinpaz is offline  
Re: coleccion de objetos

Mira algo asi ...

Código PHP:

<?php
class Persona {
  protected 
$nombre;
  protected 
$edad;
  public function 
__construct($nom,$ed)
  {
    
$this->nombre=$nom;
    
$this->edad=$ed;
  }
  public function 
imprimirDatosPersonales()
  {
    echo 
'Nombre:'.$this->nombre.'<br>';
    echo 
'Edad:'.$this->edad.'<br>';
  }
}

class 
Empleado extends Persona{
  protected 
$sueldo;
  public function 
__construct($nom,$ed,$su)
  {
    
parent::__construct($nom,$ed);
    
$this->sueldo=$su;
  }
  public function 
imprimirSueldo()
  {
    echo 
'Sueldo:'.$this->sueldo.'<br>';
  }
}

$persona1=new Persona('Rodriguez Pablo',24);
echo 
'Datos personales de la persona:<br>';


$persona1->imprimirDatosPersonales();
$empleado1=New Empleado('Gonzalez Ana',32,2400);

echo 
'Datos personales y sueldo del empleado:<br>';
$empleado1->imprimirDatosPersonales();

$empleado1->imprimirSueldo();
?>
__________________
Necesita desarrollar su aplicacion web ? Naptel La empresa venezolana de aplicaciones web le puede ayudar. www.naptel.com.ve
  Responder Con Cita
Antiguo 05/05/08, 07:58:00   #5 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Registrado: nov 2003
Mensajes: 739
zsamer is offline  
Re: coleccion de objetos

Unejemplo de colección de objetos:
Código PHP:
        $collection = new SplObjectStorage();

        foreach(
$this->getStoreService()->getProducts($currentCategoryId) as $product){
            
$collection->attach(new Product($product));
        }

              
$this->view->assign('productList'$collection); 
  Responder Con Cita
Antiguo 05/05/08, 08:11:30   #6 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.196
GatorV is offline  
Re: coleccion de objetos

Solo para complementar, en si una colección es un arreglo, así que puedes usar un arreglo como objeto base para guardar la colección si se te hace muy complejo usar SPL.

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 05/05/08, 09:59:15   #7 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
Re: coleccion de objetos

gracias zsamer.. echaré un vistaso a SPL, aunke estoy foljo en php aun..

GatorV, me puedes dar un ejemplo con arrays, creo ke con este lo entenderia mejor...
  Responder Con Cita
Antiguo 05/05/08, 10:03:33   #8 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.196
GatorV is offline  
Re: coleccion de objetos

Código PHP:
class Collection {
       private 
$collection = array();
       public 
addToCollection$object ) {
                
$this->collection[] = $object;
       }
}

$coll = new Collection();
while( 
$i 10 ) {
      
$obj = new StdObject();
      
$coll->addToCollection($obj);
      
$i++;

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 06/05/08, 07:39:58   #9 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
Re: coleccion de objetos

porque me da error el siguiente codigo la parte que esta en rojo..

class Recursos {
private $listadoPersnoa;
private $cantReal;

function __construct() {
$this->listadoPersnoa = new Collection();
}

function addPersona(Persona $per) {
$this->listadoPersnoa->Addicionar($per)

}
  Responder Con Cita
Antiguo 06/05/08, 07:51:22   #10 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.196
GatorV is offline  
Re: coleccion de objetos

Es difícil saber, sin saber el código de Collection ni el mensaje de error que te indica.

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 06/05/08, 08:17:31   #11 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
Re: coleccion de objetos

esta en mi clase collection

class Collection {

private $collection = array ( );

function __construct() {

}

public function Adicionar(Persona $persona) {
$this->collection [] = $persona;
}

function __destruct() {

}
}

esta mi clase Recurso
require_once ('class.Collection.php');


class Recursos {
private $listadoPersnoa;
private $cantReal;

function __construct() {
$this->listadoPersnoa = new Collection();
}

function addPersona(Persona $per) {
//$this->listadoPersnoa = new Collection();
$this->listadoPersnoa-> aki el warning

}
}


lo que pasa es ke no me deja llamar a la funcion Adicionar de la clase Collection, pero si descomento la linea //$this->listadoPersnoa = new Collection(); si lo hace, pero no es lo que quiero si ya inicialice listadoPersona en el constructor de mi clase Recurso
y
  Responder Con Cita
Antiguo 06/05/08, 08:34:23   #12 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.196
GatorV is offline  
Re: coleccion de objetos

Ok, pero ¿que error te marca?

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 06/05/08, 08:42:19   #13 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
Re: coleccion de objetos

bueno, que malo soy!!, lo que pasa es que estoy utilizando zen studio for eclipse y no me ponia el codec compition de ese metodo, pense ke era por algun error, pero lo puse a la fuerza y no dio ningun error..
gracias..
PD: como seira el codigo para una function getObj(int pos) dentro de mi clase Collection y como se la cantidad de objetos ke tiene mi array?

gracias de nuevo
  Responder Con Cita
Antiguo 06/05/08, 08:52:37   #14 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.196
GatorV is offline  
Re: coleccion de objetos

Hola yellow1984,

La cantidad la puedes saber usando count() en tu array, y para devolver un objeto basta con primero comprobar si la posición es valida (no es mayor al total de objetos y es mayor a 0), después solo tienes que hacer un return $this->collection[$pos].

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 06/05/08, 08:55:32   #15 (permalink)
yellow1984 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 26
yellow1984 is offline  
Re: coleccion de objetos

gracias GatorV, me has resuelto un gran problema..
  Responder Con Cita
Respuesta


Califica este Tema - coleccion de objetos.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 06:13:35.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96