Foros del Web » Programando para Internet » PHP »

Classes y objets

Estas en el tema de Classes y objets en el foro de PHP en Foros del Web. Donde puedo encontrar mas info sobre el manejo de clases, e leido bastante pero nada e logrado hacer solo esto. es algo inservible, solo para ...
  #1 (permalink)  
Antiguo 03/02/2003, 10:21
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
Classes y objets

Donde puedo encontrar mas info sobre el manejo de clases, e leido bastante pero nada e logrado hacer solo esto.


es algo inservible, solo para aprender

Código PHP:
class nada
{
var 
$item;
 function 
nada()
 {
 echo 
$this->item="hola";
 }
 
 function 
suma()
 {
 
$a=4;
 
$b=2;
 
$this->item=$a+$b;
 }
 
}

$nada = new nada;
$nada->suma(); 
me devuelve hola pero lo de la suma no me sale.


Entonces quiero aprender a usar las clases y necesito documentacion ojala en español.

Alguien puede ayudar en decirme donde encontrar más..

Gracias


Saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #2 (permalink)  
Antiguo 03/02/2003, 10:34
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Acabo de traducir un tutorial muy bueno de Luis Argerich, dedicado a la programación Orientada a Objetos en PHP.
Te lo recomiendo, ya que es el que utilicé yo para aprender.
Saludos.

http://beta.zonaphp.com/?modulo=arti...cion=leer&id=1
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #3 (permalink)  
Antiguo 03/02/2003, 10:37
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
OK gracias Webstudio, gracias



Saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #4 (permalink)  
Antiguo 03/02/2003, 10:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Como veras .. una classe se compone principalmente de "funciones" .. las cuales aceptan parametros de entrada por algun método (referencia, global .. etc) .. y pueden devolver algun resultado de sus operaciones ..

En tu caso .. estas haciendo la funcion "suma" (accediento al método ..) pero este método no devuelve su resultado .. Tampoco pusites como pretendes ver su valor ...

function suma()
{
$a=4;
$b=2;
return $a+$b;
}


Y lo llamarias:
echo $nose->suma(); // el echo por la simple razón de verlo ..

Creo q antes de meterte con "objetos" y classes deberias de estudiar bien el tema de funciones: como se le pasan parámetros y como los puede devolver ... Practica tus "classes" de forma indivudal con sus funcioens .. y cuando lo tengas claro lo metes todo bajo una classe y ves temas como el famoso $this-> .. o el &$variable para pasar por "referencia" ...

Cuando tengas claro todo eso .. te pasas por:
http://beta.zonaphp.com/?modulo=arti...cion=leer&id=1

------------ Editado --------
usando tus metodos .. te faltaba uno tipo: VerItem(); .. o ObtenItem() ...

Código PHP:
function VerItem()
 {
 echo  
$this->item;
}

function 
ObtenItem()
 {
 return 
$this->item;
}

//Y las llamadas serian

$nose->suma();
echo 
$nose->ObtenItem();
$nose->ObtenItem(); 
Como veras .. la q devuelve el valor de tu operación es mas "versatil" pues separas completamente de la "classe" la presentación q les des a esos datos ...

Un saludo,

Última edición por Cluster; 03/02/2003 a las 10:55
  #5 (permalink)  
Antiguo 03/02/2003, 11:15
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
ok gracias cluster por tu respuesta. Ahora estoy estudiando lo que me dio Webstudio y haciendo pruebas.


Saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #6 (permalink)  
Antiguo 03/02/2003, 11:39
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
Mirando los ejemplos del articulo que mensiono Webstudio, los quiese probar y resulta que me dan el siguiente error


Warning: Missing argument 1 for miclase1() in c:\archivos de programa\apache group\apache\htdocs\pagina\test.php on line 12

Warning: Missing argument 2 for miclase1() in c:\archivos de programa\apache group\apache\htdocs\pagina\test.php on line 12

Warning: Missing argument 1 for miclase2() in c:\archivos de programa\apache group\apache\htdocs\pagina\test.php on line 15


y el ejemplo que copie textualmente es:

Código PHP:
<?

class MiClase {  
    function 
MiClase() {  
        
$nombre="MiClase".func_num_args();  
        
$this->$nombre(); 
    
// Notar que $this->nombre(); generalmente estaría mal 
    // pero aqui $nombre es un string con el nombre del 
    // método que se va a llamar 
    
}  

    function 
MiClase1($x,$y) {  
        
código;  
    }  
    function 
MiClase2($x) {  
        
código;  
    }  
}

$obj1=new MiClase('1'); // llamará a MiClase1
$obj2=new MiClase('1','2');

?>
por que me da esos errores.


Saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #7 (permalink)  
Antiguo 03/02/2003, 11:49
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
MSDark.. por favor..
si vas a copiar... asegurate de hacerlo bien
El código que hay en el sitio es distinto :

Código PHP:
<?php 

class MiClase 
    function 
MiClase() { 
        
$nombre="MiClase".func_num_args(); 
        
$this->$nombre();
    
// Notar que $this->nombre(); generalmente estaría mal
    // pero aqui $nombre es un string con el nombre del
    // método que se va a llamar
    


    function 
MiClase1($x) { 
        
código
    } 
    function 
MiClase2($x,$y) { 
        
código
    } 


?>
Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #8 (permalink)  
Antiguo 03/02/2003, 11:56
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
Sea como sea me da ese error


Lo estoy probando en local
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #9 (permalink)  
Antiguo 03/02/2003, 13:05
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
lo k pasa es k pierdes el argumento, debes pasarselo a la funcion para que te recoja los datos .

Encuanto a mas info sobre OOP en la pagina de php.net leete la seccion de funciones sobre objetos jeje es mu chuli jeje y en marzo to kiski a aprender oop bien jeje por k llega php5
__________________
Usuario registrado de Linux #288725
  #10 (permalink)  
Antiguo 04/02/2003, 13:23
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
Siguiendo con este tema encontre esto para estudiar.


Recomendado


http://www.phpbuilder.com/columns/ro...01.php3?page=1
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
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 23:16.