Autor
|
Tema: ¿Llamar a una función que está dentro de una clase? (Leído 32,064 veces)
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
El ejemplo que puso la wapa tifa ( ) te sirve... tienes que crear tu instancia y luego llamar tu función. Leete un tuto de lo basico de POO en PHP. Suerte
|
|
|
En línea
|
|
|
|
WHK
|
<?php class prueba1{ function irf(){ } function fc5($saludo){ echo 'test<br />'; return $saludo; } function rastrear($ip, $destino){ } } $own = prueba1::fc5('hola'); echo $own; ?>
|
|
|
En línea
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
<?php class prueba1{ function irf(){ } function fc5($saludo) { echo 'test<br />'; return $saludo; } function rastrear($ip, $destino) { echo $ip . " " . $destino; } } $own = prueba1::fc5('hola'); echo $own; echo prueba1::rastrear('12', 'Mexico'); ?>
Que logica tiene programar lo anterior? para ir llamando funciones una por una, mejor que no programe orientado a objetos... porque la etica de programar con POO es precisamente sacarle provecho a las 3 reglas basicas (Polimorfismo, Encapsulamiento, Herencia). Y con ese ejemplo... la verdad, para hacerlo asi mejor que no programe en PHP en POO y que haga todo estructurado. No le den consejos negativos a este chico, que aparenta que no quiere leerse 1 solo tuto de PHP y si le ponen ejemplos como los anteriores... la verdad animaran a su ego de aplicar una sintaxis erronea dentro de un perfil ya establecido. No vamos a querer que otros desarrolladores comienzen a criticar su codigo o si????
|
|
|
En línea
|
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Estoy totalmente de acuerdo con ^TiFa^. No tiene sentido crear clases y métodos, usar programación orientada a objetos y luego llamar a la función directamente "trampeándolo". Para eso te haces un archivo php con todas las funciones y luego las llamas directamente, no tiene sentido crear clases para luego no instanciarlas ni utilizarlas correctamente...
|
|
|
En línea
|
|
|
|
Nakp
casi es
Ex-Staff
Desconectado
Mensajes: 6.336
he vuelto :)
|
eso, es común en java, cuando decides completamente POO te toca hacer este tipo de cosas, que en java viene siendo llamar métodos estáticos ejemplo class Color{ public $rojo = '#FF0000'; public $verde = '#00FF00'; public $color = ''; function set_color($color){ $this->color = $color; } }
ahora... para que coños quiero yo un objeto de tipo color si solo quiero los colores? xD salu2
|
|
|
En línea
|
Ojo por ojo, y el mundo acabará ciego.
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
El concepto es precisamente no tratar de trapear o camuflear algo como el estilo del ejemplo expuesto.. porque si vamos todos programando asi, entonces se pierde la realidad de lo que debe cumplirse en la POO.
No confundir $this con que esta llamando funciones y decir es lo mismo como que yo haga clase::funcion(parametro) porque this tiene otro proposito. Dentro de una clase bien estructurada los metodos y los atributos tienen una relacion ya que estan encapsulados dentro de la misma clase.. pero mirando el ejemplo posteado lo que se esta haciendo es una programacion estructurada con intento de camuflaje en un lenguaje orientado a objetos y eso la verdad... teoricamente esta mal, no se aplica y no existe. Es como querer mezclar sintaxis de C y C++ a la vez... eso no te hace mega groso ni mas poderoso, eso esta mal, y hay que respetar las cosas como estan establecidas solo eso.
|
|
|
En línea
|
|
|
|
Nakp
casi es
Ex-Staff
Desconectado
Mensajes: 6.336
he vuelto :)
|
El concepto es precisamente no tratar de trapear o camuflear algo como el estilo del ejemplo expuesto.. porque si vamos todos programando así, entonces se pierde la realidad de lo que debe cumplirse en la POO.
No confundir $this con que esta llamando funciones y decir es lo mismo como que yo haga clase::funcion(parametro) porque this tiene otro proposito. Dentro de una clase bien estructurada los metodos y los atributos tienen una relacion ya que estan encapsulados dentro de la misma clase.. pero mirando el ejemplo posteado lo que se esta haciendo es una programacion estructurada con intento de camuflaje en un lenguaje orientado a objetos y eso la verdad... teoricamente esta mal, no se aplica y no existe. Es como querer mezclar sintaxis de C y C++ a la vez... eso no te hace mega groso ni mas poderoso, eso esta mal, y hay que respetar las cosas como estan establecidas solo eso.
a eso me refiero, si decides hacer un sistema totalmente orientado a objetos, debes regirte por clases y no mezclar programación estructurada con POO, y suponiendo que tienes una clase color, y quieres un color, no necesitas crear un objeto color para acceder a este, por eso mencioné que en java se llaman a elementos estaticos en clases, lo que viene a ser lo mismo en php si quiero acceder a un elemento, obviamente si quiero un método obligatoriamente debería crear el objeto primero porque si no no tiene razón de ser una clase (aunque esto también pasa en java xD) por último, al creador del post, le recomiendo aprender a programar en cualquier lenguaje, y si decide seguir con php, leer este blog XD salu2
|
|
« Última modificación: 29 Marzo 2009, 20:38 pm por Nakp »
|
En línea
|
Ojo por ojo, y el mundo acabará ciego.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como llamar a una funcion dentro de otra funcion. Una ayuda urgentemente porfavo
Programación C/C++
|
LobateZZZ
|
1
|
10,839
|
14 Abril 2013, 03:07 am
por rir3760
|
|
|
Clase dentro de clase css
Desarrollo Web
|
Ikku
|
1
|
2,170
|
26 Septiembre 2013, 12:07 pm
por peib0l
|
|
|
Consulta - Llamar función dentro de su misma función
Programación C/C++
|
DeMoNcRaZy
|
4
|
5,796
|
8 Marzo 2015, 17:29 pm
por DeMoNcRaZy
|
|
|
Ayuda llamar a una clase y sus métodos dentro de otra clase (Android)
Java
|
LikeVodka
|
1
|
6,246
|
19 Abril 2015, 11:22 am
por MNicolas
|
|
|
Llamar a la funcion de una clase desde otra clase
PHP
|
facuzek232
|
0
|
3,144
|
4 Agosto 2017, 02:01 am
por facuzek232
|
|