¿Llamar a una función que está dentro de una clase?

Iniciado por Servia, 28 Marzo 2009, 13:23 PM

0 Miembros y 1 Visitante están viendo este tema.

Servia

No puedo creer que no esté en algun tuto de aquí, en el buscar no me salió nada así que como lo hago para llamar a una función que se encuentra dentro de una class?

Código (php-brief) [Seleccionar]
<?php
class prueba1{
function 
irf(){}
function 
fc5(){
}
function 
rastrear($ip$destino){
}
}
$own=$prueba1->fc5();
echo 
$own;
?>


De esa forma me dice que
Fatal error: Call to a member function fc5() on a non-object.

eLank0

Tendrías que crear un objeto de la clase en cuestión y luego usar los métodos de la clase.

s2

Servia


^Tifa^

#3
Mas bien Servia no se trata de un tuto de POO  en PHP, sino de la forma real como trabaja la POO en cualquier lenguaje que tiende a ser la misma.

No tienes claro  el concepto de POO y sino tienes eso claro, de poco sirve explicarte como realizar algo y vayas en la vida realizandolo como un robot memorizadamente pero sin saber a ciencia cierta porque debo realizar eso así....

Yo te recomendaria que leas un tuto tecnico sobre que es Orientado a Objetos para que puedas comprender sobre el tema. Sobre tu peticion, si conocieras sobre la POO sabrias que tienes que declarar un objeto nuevo que se encargue de instanciar los metodos que contiene la clase de la cual creaste el objeto nuevo.

Código (php) [Seleccionar]


<?php

class prueba1{

public function 
irf(){

}

public function 
fc5(){

    echo 
"Hola Mundo<br>";
}

public function 
rastrear($ip$destino){

}
}

$own = new prueba1();
$own->fc5();

?>




Todo lo que esta dentro de una clase por defecto es privado he inacesible al codigo externo a no ser que declares las cosas como public dentro de la clase, así podrias llamar sus objetos sin problema.

Servia

Gracias, pues si puedes pásame un tuto que creas que está bien :P

cassiani

o.O

pues ya te han dicho chico, public ;) lo demás es leer por aquí o por allá ..

Servia

Ahora tengo otro problemilla con las funciones :(
Código (php-brief) [Seleccionar]

<?
function vaciar(){

}
}
?>
  <label>
  <input type="button" onclick="<? $vaciar="hazlo"; ?> name="Submit" value="Vacíar Papelera" />
  </label>
  </p>
<p>
<?
if($vaciar == "hazlo") {
vaciar();
}
?>


Se ejecuta aunque no se pulse el botón, que hago mal?

Spider-Net

Pues lo que haces mal es intentar programar en un lenguaje sin estudiarlo antes. Está claro que no tienes nada claro ni como funciona PHP ni como funciona la programación orientada a objetos ni siquiera el html así que antes de empezar a programar deberías empezar por estudiar unos cuantos tutoriales.
Lo que estás haciendo es dar palos de ciego... pones algo y pruebas a ver si funciona y si no lo hace vienes al foro a que te digan como se hace bien y esto no funciona así.

eLank0

Cualquier tutorial de POO en PHP te servirá...

^Tifa^

Se supone que tiene que ejecutarse la funcion, porque acaso no la haz colocado como primera opcion dentro de tu codigo?????  :-\ 

Tampoco vayas a pretender que colocando la funcion debajo del codigo html y llamandola dentro del html te va a funcionar....

Como bien dice Spider-Net y como te he venido diciendo yo misma, sino tienes el concepto de un tema es imposible que lo manejes. La programacion no es precisamente algo de observar por arriba uno o dos ejemplo de codigo y ya pensarse yo puedo hacer eso y comenzar a escribir cosas similares sin saber a ciencia cierta que se esta realizando en realidad....

Yo siendo tu, antes de ponerme a tirar lineas de codigo sin saber nisiquiera porque si coloco una funcion de cabecera se ejecuta esta aun sin yo llamarla... que eso ya es mucho decir  :¬¬  lee amigo, leer no hace mal a nadie, y todo en la vida tiene instrucciones de manejamiento no hay nada por mas inteligentes que seamos que manejemos de primera sin conocer las instrucciones.