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

clase y metodo del mismo nombre

Estas en el tema de clase y metodo del mismo nombre en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola que pasa si tengo una clase y dentro tengo un metodo con el mismo nombre de la clase, al instanciar un objeto a la ...
  #1 (permalink)  
Antiguo 24/08/2009, 16:11
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 18 años, 9 meses
Puntos: 1
clase y metodo del mismo nombre

hola que pasa si tengo una clase y dentro tengo un metodo con el mismo nombre de la clase, al instanciar un objeto a la clase se ejecuta el metodo del mismo nombre que la clase???, por ejemplo esta clase MySQL no logro comprender en que momento se realiza la llamada a la funcion MySQL que realiza la conexion con la base de datos.

# <?php
# class MySQL{
# private $conexion;
# private $total_consultas;
# public function MySQL(){
# if(!isset($this->conexion)){
# $this->conexion = (mysql_connect("Servidor","usuario","password")) or die(mysql_error());
# mysql_select_db("nombreBD",$this->conexion) or die(mysql_error());
# }
# }
# public function consulta($consulta){
# $this->total_consultas++;
# $resultado = mysql_query($consulta,$this->conexion);
# if(!$resultado){
# echo 'MySQL Error: ' . mysql_error();
# exit;
# }
# return $resultado;
# }
# public function fetch_array($consulta){
# return mysql_fetch_array($consulta);
# }
# public function num_rows($consulta){
# return mysql_num_rows($consulta);
# }
# public function getTotalConsultas(){
# return $this->total_consultas;
# }
# }?>



1. include("mysql.php");
2. $db = new MySQL();
3. $consulta = $db->consulta("SELECT id FROM mitabla1");
4. if($db->num_rows($consulta)>0){
5. while($resultados = $db->fetch_array($consulta)){
6. echo "ID: ".$resultados['id']."<br />";
7. }
8. }
esa es mi duda.
  #2 (permalink)  
Antiguo 24/08/2009, 16:25
Avatar de Luis207  
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: clase y metodo del mismo nombre

¿Y no sería más fácil cambiarle el nombre a la clase, por ejemplo?
  #3 (permalink)  
Antiguo 24/08/2009, 17:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: clase y metodo del mismo nombre

Cita:
Iniciado por dionyg5
...esta clase MySQL no logro comprender en que momento se realiza la llamada a la funcion MySQL que realiza la conexion con la base de datos.
Al parecer establece la conexion cuando creas la instancia $db = new MYSQL(); y necesitas editar la clase para especificar cada dato.

Código php:
Ver original
  1. if(!isset($this->conexion)){
  2.     $this->conexion = (mysql_connect("Servidor","usuario","password")) or die(mysql_error());
  3.     mysql_select_db("nombreBD",$this->conexion) or die(mysql_error());
  4. }
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 24/08/2009, 18:07
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 5 meses
Puntos: 102
Respuesta: clase y metodo del mismo nombre

Cita:
Iniciado por dionyg5 Ver Mensaje
hola que pasa si tengo una clase y dentro tengo un metodo con el mismo nombre de la clase, al instanciar un objeto a la clase se ejecuta el metodo del mismo nombre que la clase???
Sí, se les llama constructores, aunque es sintaxis de PHP4
http://www.php.net/language.oop.constructor

Hasta PHP4 se utilizaba forma de llamar el método de la misma manera que la clase (es algo común en otros lenguajes), pero en PHP5 se usa el método especial __construct()
http://www.php.net/language.oop5.decon

Por compatibiidad hacia atrás, si en PHP5 no se encuentra un método __construct(), utilizará el que se llame igual que la función como constructor....

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 24/08/2009, 18:34
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años, 1 mes
Puntos: 69
Respuesta: clase y metodo del mismo nombre

jam1138, estaba viendo tu firma en el foro, sobre todo el link que dice como hacer preguntas de manera inteligente, y me vino a la mente cuando escribí exactamente lo mismo, en las FAQs del foro :)

http://www.forosdelweb.com/faq.php?faq=como_preguntar
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #6 (permalink)  
Antiguo 24/08/2009, 19:28
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 5 meses
Puntos: 102
Respuesta: clase y metodo del mismo nombre

De hecho Webstudio, hasta hace un par de días, la firma apuntaba a esas FAQs
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 02:11.