Foros del Web » Programando para Internet » PHP »

Funciones Con $

Estas en el tema de Funciones Con $ en el foro de PHP en Foros del Web. En cierta ocasion vi en un script, que a una funcion se le podia poner un $ esto era mediante un eval, y se veia ...
  #1 (permalink)  
Antiguo 10/01/2006, 10:34
Avatar de crazyandmaniac  
Fecha de Ingreso: mayo-2005
Mensajes: 99
Antigüedad: 12 años, 6 meses
Puntos: 0
Funciones Con $

En cierta ocasion vi en un script, que a una funcion se le podia poner un $
esto era mediante un eval, y se veia bien chido

Ej.

/*

$DATE('Y'):


*/


Alguien sabe como se haria?
__________________


------------------------------------------
:pensando:
[email protected]

------------------------------------------


  #2 (permalink)  
Antiguo 10/01/2006, 16:32
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 12 años, 7 meses
Puntos: 1
Si solo quieres saberlo porque queda bonito mi consejo es que no te entretengas en esas cosas que solo te traerean problemas, centrate en la funcionalidad de tu codigo.

Esto es solo un consejo cada uno hace lo que le da la gana xd.
__________________
Ciao y suerte.
  #3 (permalink)  
Antiguo 10/01/2006, 18:35
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
$DATE('Y') puede ser simplemente una variable tipo array...

$DATE('Y') = date("Y");
$DATE('H') = date("H");
$DATE('X') = "lalalalala";

Así como tambien hay variables sin $

define("var_name", valor);

ej:
Código PHP:
<?php
//si el valor es alfanumerico lo encierras entre comillas ""
define("name","tomás");
define("nick","FuLaNo_");
//si el valor es numerico NO es necesario ponerle comillas
define("edad",23);

echo 
name.nick.edad//imprimira tomásFuLaNo_23
?>
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 10/01/2006, 19:55
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 12 años
Puntos: 0
que alguien dispare si me equivoco, si se uso la función eval entonces $DATE guardaba el nombre de una función (digamos pepito). al evaluar $DATE('Y') entonces lo que en realidad hacemos es pepito('y').
  #5 (permalink)  
Antiguo 11/01/2006, 05:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
FuLano

Así como tambien hay variables sin $

define("var_name", valor);
En ese caso le llaman "constantes" .. se suelen definir preferentemente en mayusculas para evitar confusiones con $variables que nos podríamos haber dejado el $ delante y así identificar rápidamente que eso es una constante.

Un saludo,
  #6 (permalink)  
Antiguo 11/01/2006, 05:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por plus_ultra
que alguien dispare si me equivoco, si se uso la función eval entonces $DATE guardaba el nombre de una función (digamos pepito). al evaluar $DATE('Y') entonces lo que en realidad hacemos es pepito('y').
No sé si realmente aplican un eval() o no .. (desconozco el tema) .. Lo único que puedo aportar es que si realmente usa "eval()" .. ahí estamos cargando a PHP con un proceso -extra- que si es posible evitarlo .. mejor evitarlo.

Realmente habría que ver el contexto total de uso de ese código .. tal vez no sea para que quede "bonito" el código .. sino por qué es generado dinámicamente .. o no sé realmente. Yo en lo personal evito usar "eval()".

Un saludo,
  #7 (permalink)  
Antiguo 11/01/2006, 05:53
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Sabia que se llaman constantes, pero no que se suelen definir en mayusculas, siempre se aprende algo ;).

Bueno, y llendo un poco sobre el funcionamiento de esta constante... una variable es variable, mientras que una constante es... SI!! constante, una vez que la definimos tendrá siempre el mismo valor; aunque sería bueno que cluster me corrija, ya que esto lo "toco de oido"... aun no he utilizado nunca este tipo de variables ya que desconzco su uso practico.
__________________
I Love Programming...
  #8 (permalink)  
Antiguo 11/01/2006, 07:44
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
no pusieron no hace mucho un post sobre algo parecido?
estaba buscandolo pero no lo encuentro, venia ademas con un enlace a leer algo de www.php.net
  #9 (permalink)  
Antiguo 11/01/2006, 08:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Como bien dices .. una constante no está diseñada para que varie su valor en la ejecución de tu script ... Eso a nivel de rendimiento y a un nivel más basico de como trabaja el "interprete" de PHP lo que hace es reservar cierta "memoria" (por decirlo así) y recursos en general de forma más óptima .. Una "variable" es variable .. y según PHP las define (para facilitarnos la vida vs a rendimiento) se reserva mucho más espacio en memoria que lo que una constante define y se ajusta al contenido real.

Hay muchas constantes que no son definidas por el "usuario" (nosotros como programadores) .. PHP también usa (o mejor dicho define) un montón de constantes que podemos usar:

SID, ___FILE___ , ___LINE___ y algunas más que no recuerdo. (algunas realmente funcionan como "variables" (por lo menos FILE y LINE ...por qué indican el nombre de archivo que estás ejecuando y la línea en que está tu código .. útilies para mostrar un mensaje de error personalizado y decir: aquí se originó ... El SID es el indentificador único de sesiones ... y hay más).

Un saludo,
  #10 (permalink)  
Antiguo 11/01/2006, 08:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por cyborg
no pusieron no hace mucho un post sobre algo parecido?
estaba buscandolo pero no lo encuentro, venia ademas con un enlace a leer algo de www.php.net
Tal vez te confundas con el tema de "Variables Variable":

http://www.php.net/manual/en/languag...s.variable.php

(que es lo único que recuerdo haber visto sobre "variables/constantes" hace un tiempo .. )

Un saludo,
  #11 (permalink)  
Antiguo 11/01/2006, 12:19
Avatar de crazyandmaniac  
Fecha de Ingreso: mayo-2005
Mensajes: 99
Antigüedad: 12 años, 6 meses
Puntos: 0
Nos desviamos del punto...
el ej era date si, pero seria como cualquier funcion



$in_array(): $explode():
etc...
si era con eval, solo que no recuerdo .
__________________


------------------------------------------
:pensando:
[email protected]

------------------------------------------


  #12 (permalink)  
Antiguo 11/01/2006, 12:48
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
Cita:
Iniciado por Cluster
Tal vez te confundas con el tema de "Variables Variable":

http://www.php.net/manual/en/languag...s.variable.php

(que es lo único que recuerdo haber visto sobre "variables/constantes" hace un tiempo .. )

Un saludo,
pues podria ser.. pero no lo se :p
creo que era algo de que si ponias $ delante del nombre de una funcion.. o quizas era otro signo (esto me pasa por leer las cosas por encima)
hacia otra cosa
no se si esto aclara algo
  #13 (permalink)  
Antiguo 11/01/2006, 13:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por crazyandmaniac
Nos desviamos del punto...
el ej era date si, pero seria como cualquier funcion



$in_array(): $explode():
etc...
si era con eval, solo que no recuerdo .
Si era con eval() .. lo mejor es que leas la documentación de PHP al respecto:

www.php.net/eval

El "eval()" se suele usar cuando por ejemplo uno tiene un "código" PHP que lee de alguna fuente (por qué está en una BBDD por ejemplo) y necesitas ejecutarlo. Pero no para que "quede más bonito" .. pues es un proceso extra que cargas a PHP para algo que realmente no tendrías que usarlo.


Un saludo,

PD: si, tal vez nos desviamos del tema .. pero así es un foro .. por lo menos hablamos de "variables" en todo caso.
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 15:57.