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

Clases en php

Estas en el tema de Clases en php en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Un saludo a todos, Estoy realizando un proyecto en php que necesariamente tiene que tener clases, no estoy muy familiarizado con ellas asi que quisiera ...
  #1 (permalink)  
Antiguo 06/07/2010, 15:16
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Busqueda Clases en php

Un saludo a todos,
Estoy realizando un proyecto en php que necesariamente tiene que tener clases, no estoy muy familiarizado con ellas asi que quisiera una pekeña ayudadita....

una de mis clases es la que sigue, pero no estoy segurosi lleva esa estructura o si le falta algo...
Código PHP:
Ver original
  1. class GetController
  2. {
  3.     public function GET_MODULO()
  4.     {
  5.         if(empty($_SESSION['user']) || !empty($_GET['mod']))
  6.         {
  7.             if (!empty($_GET['mod']))
  8.             {
  9.                 $modulo = $_GET['mod'];
  10.             }
  11.             else
  12.             {  
  13.                 $modulo = 'index';
  14.             }
  15.         }
  16.         else
  17.         {
  18.             $modulo = 'elegido';
  19.         }
  20.         $this->$modulo=$modulo;
  21.         return $modulo;
  22.     }
  23. }
  24.  
  25. class View
  26. {
  27. public function show($modulo )
  28.     {
  29. $path=$modulo;
  30. if (file_exists($path) == false)
  31.         {
  32.             trigger_error ('Template `' . $path . '` does not exist.', E_USER_NOTICE);
  33.             return false;
  34.         }
  35. include($path);
  36.     }
  37. }

despues en mi archivo index.php
Código PHP:
Ver original
  1. include("GetController.php");
  2. $GET_MODULO= new GetController();
  3. $GET_MODULO->GET_MODULO();
  4. //teoricamente creoke asi se hacen los objetos
  5.  
  6. //ahora se lo paso a mi otra funcion en
  7. $vista = new View();
  8. $vista->show($modulo);

pero alejecutar eso me sale el sig. error:

Código PHP:
Ver original
  1. Template `Object id #2` does not exist.

Como puedo "usar" la Variable $modulo que esta dentro del objeto???
  #2 (permalink)  
Antiguo 06/07/2010, 15:42
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Clases en php

si quieres que te sea sincero y te de consejos.. eso es solo programación estructural dentro de una class =)
te recomendaría empezar por aprender UML
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 06/07/2010, 15:46
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Clases en php

Código PHP:
//define las variables dentro de la clase
public $modulo='';

//para hacer referencia a las variables dentro de la clase hazlo sin el signo del dolar:

$this->modulo=$modulo;//esto es redundante
$this->modulo='index.php';
return 
$this->modulo;

//usa nombres diferentaes para variables, funciones, clases etc para evitar confusiones

//por último prueba así:

include("GetController.php");
$get_modulo_obj= new GetController();
$modulo=$get_modulo_obj->GET_MODULO();
//teoricamente creoke asi se hacen los objetos
 
//ahora se lo paso a mi otra funcion en 
$vista = new View();
$vista->show($modulo); 
__________________
Tu álbum de cromos online!!
  #4 (permalink)  
Antiguo 06/07/2010, 15:50
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Clases en php

OK muchas gracias por su ayuda
  #5 (permalink)  
Antiguo 07/07/2010, 09:25
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
Tema movido desde PHP a PHP orientado a objetos

Etiquetas: clases, php
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 10:06.