Foros del Web » Programando para Internet » PHP »

Conexión y Uso de funciones

Estas en el tema de Conexión y Uso de funciones en el foro de PHP en Foros del Web. Saludos a todos. Tengo una duda y tal vez sea de concepto. Tengo una variable que tiene la conexión a una BD o sea: Código ...
  #1 (permalink)  
Antiguo 14/04/2008, 10:35
Avatar de alaintm  
Fecha de Ingreso: marzo-2007
Mensajes: 149
Antigüedad: 17 años
Puntos: 1
Conexión y Uso de funciones

Saludos a todos. Tengo una duda y tal vez sea de concepto.
Tengo una variable que tiene la conexión a una BD o sea:

Código PHP:
$link mysql_connect(); 
y una función que ejecuta una consulta que la misma necesita como parametro la conexión o sea $link y mi duda es que si este código es correcto o se debe tratar de otra forma.

function consulta($link){
mysql_query("consulta", $link);
}

Agradezco de antemano su ayuda
  #2 (permalink)  
Antiguo 14/04/2008, 10:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Conexión y Uso de funciones

si has creado $link desde afuera de la funcion consulta() debes declararla como global, ya ke sino... puedes declararla como:

Código PHP:
function consulta($query)
{
  static 
$link;
  
  if (!
$link)
  {
     
$link mysql_connect(...);
  }
  
  return 
mysql_query($query$link);

weno, esa seria mi forma a como lo planeas...

si no es asi, y la declaras... anteponle un global
cuando la necesitas dentro de una funcion, o clase... etc

anteponle un global, para acercarla...
  #3 (permalink)  
Antiguo 14/04/2008, 12:14
Avatar de alaintm  
Fecha de Ingreso: marzo-2007
Mensajes: 149
Antigüedad: 17 años
Puntos: 1
Re: Conexión y Uso de funciones

Ya que tocas el tema de global y static, es cierto que el uso de global en php 6 no va estar o entendí mal o es recomedable usar global para estos casos y por último que ventajas de usar static.
  #4 (permalink)  
Antiguo 14/04/2008, 12:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Conexión y Uso de funciones

El tema de global es diferente a register_globals, global es para hacer dentro de una función que lea la variable que esta en el ámbito global de PHP.

Static sirve para lo que su nombre indica, para hacer una variable estática.

Saludos.
  #5 (permalink)  
Antiguo 14/04/2008, 12:33
Avatar de alaintm  
Fecha de Ingreso: marzo-2007
Mensajes: 149
Antigüedad: 17 años
Puntos: 1
Re: Conexión y Uso de funciones

Pero es no entiendo bien el uso de static, es si no existe un dato en la misma lo crea o que, porque lo veo sobre todo en el uso singlenton.
  #6 (permalink)  
Antiguo 14/04/2008, 14:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Conexión y Uso de funciones

pus como es, crea una variable estatica; ke no se recrea cada ves ke se usa la funcion...
vaya es una manera de llevar una variable a traves de muchas llamadas sin resetearse cada ves ke inicia la funcion...

Código PHP:
function foo()
{
  static 
$i;
  
  if (
$i 255)
  {
    
$i++;
  }
  else
  {
    return 
TRUE;
  }
}

while (!
foo())
{
   print 
'bar<br />';
}


//kreo ke con esto puede verse mas claro, segun... 
  #7 (permalink)  
Antiguo 14/04/2008, 14:33
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: Conexión y Uso de funciones

REalmente una variable estatica es una variable que solo se inicializa una vez.

Se utiliza en el patron singelton debido a esta propiedad.

y se utiliza en la programacion orientada a objetos para llevar elemento que necesitan ser controlados en su creacion. Como por ejemplo en el juego de los marcianos invasores, cuantos marcianos invasores se estan mostrando en la pantalla. Esa es la finalidad de ese tipo de variables.
__________________
Hernando Saenz Sanchez
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 19:00.