Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Saber en que linea fue llamada una función

Estas en el tema de Saber en que linea fue llamada una función en el foro de PHP en Foros del Web. Hola No se si esto será posible, pero lo que intento es reconocer el número de la linea donde fue llamada una función. Actualmente puedo ...
  #1 (permalink)  
Antiguo 15/07/2014, 09:08
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Saber en que linea fue llamada una función

Hola

No se si esto será posible, pero lo que intento es reconocer el número de la linea donde fue llamada una función.

Actualmente puedo obtener un numero de linea mediante la constante predefinida __LINE__, la cual me devuelve la linea donde se encuentra y lo que necesito es la linea donde fue llamada la función:

EJEMPLO

Código PHP:
Ver original
  1. function linea(){
  2. echo "linea: ".__LINE__;
  3. }
  4. $foo=1;
  5. echo "Esta es la ";
  6. linea();
  7. $bar=1;

Este ejemplo imprime:
Código:
Esta es la linea 2
Que corresponde con la linea donde está la constante.

Pero lo que busco es que solo modificando el contenido de la función me diga en que linea fue llamada, o sea de esta forma:
Código:
Esta es la linea 6
entre las constantes está __FUNCTION__, la cual me dice el nombre de la función, en el ejemplo anterior imprimiría "linea".

Es posible obtener la linea donde fue llamada una función?

Gracias por sus respuestas :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #2 (permalink)  
Antiguo 15/07/2014, 10:38
Avatar de thedaket  
Fecha de Ingreso: junio-2011
Mensajes: 55
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Saber en que linea fue llamada una función

Creo que tu funcion quedaría así
Código PHP:
function getLine(){
    return 
__LINE__;

De igual forma explica un poco mas
__________________
Sí AJAX quieres usar jQuery debes agregar...
  #3 (permalink)  
Antiguo 15/07/2014, 10:46
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Saber en que linea fue llamada una función

Supongo que te puede servir el debug_backtrace()
  #4 (permalink)  
Antiguo 15/07/2014, 10:59
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: Saber en que linea fue llamada una función

Como bien te a puesto ocp001a con la función debug_backtrace() se puede hacer.

Quedaría algo así para que te muestre el numero de línea:
Código PHP:
function Linea(){
    
$Valores debug_backtrace();
    
$Retorna $Valores[0]['line'];
    return 
$Retorna;

__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #5 (permalink)  
Antiguo 15/07/2014, 16:00
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Saber en que linea fue llamada una función

Excelente! funcionó perfecto

Gracias

Tema solucionado
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: fue, llamada
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 16:16.