Jump to content


Photo

Linha E Arquivo - Function


  • Faça o login para participar
5 replies to this topic

#1 Danilo Dantas

Danilo Dantas

    Portal do Humor.com.br

  • Usuários
  • 89 posts
  • Sexo:Não informado

Posted 02/11/2007, 19:23

Olá!

Estou com uma pequena dúvida em relação a functions. Como eu faça para pegar o local de onde eu chamei a função?

Por exemplo:

function.php
<?php
function coisar()
{
// codigo que nao sei
}

chamando_funcao.php
<?php
include 'function.php';
coisar();
?>

Oq eu preciso fazer dentro da function coisar () {} pra pegar em qual arquivo e em qual linha ela foi chama? No exemplo, o arquivo seria chamando_funcao.php e a linha 3.

[]´s

#2 apolo

apolo

    Php my life...

  • Usuários
  • 227 posts
  • Sexo:Masculino
  • Localidade:Rio das Ostras - RJ
  • Interesses:PHP e MYSQL

Posted 02/11/2007, 19:35

tem um propósito ?

não vi nenhuma utilidade nisso..

[]'s
QUE DEUS ABENÇOE TODOS !!!!
---------------
Espero ter Ajudado alguém,
----------------------
Antes de postar, veja se realmente não tem outro jeito..

#3 Danilo Dantas

Danilo Dantas

    Portal do Humor.com.br

  • Usuários
  • 89 posts
  • Sexo:Não informado

Posted 02/11/2007, 19:41

O exemplo que dei foi idiota, só pra entender melhor oq eu quero, mas vou usar isso no sistema de erros do meu site, ai ele diria junto à mensagem de erro o arquivo e a linha onde ele ocorreu.

#4 apolo

apolo

    Php my life...

  • Usuários
  • 227 posts
  • Sexo:Masculino
  • Localidade:Rio das Ostras - RJ
  • Interesses:PHP e MYSQL

Posted 02/11/2007, 20:01

bom...

pra tu pegar o local onde roda o código é só usar a variável $HTTP_REFERER, com relação a linha eu não sei como faz... mas uma vez que vc tem o endereço da página qual é, é soh rodá-la, e ver o erro....

tenta essa variável ai, agora não lembra se eh essa ou HTTP_REFER .. fugiu um pouco..

abraços.
QUE DEUS ABENÇOE TODOS !!!!
---------------
Espero ter Ajudado alguém,
----------------------
Antes de postar, veja se realmente não tem outro jeito..

#5 Danilo Dantas

Danilo Dantas

    Portal do Humor.com.br

  • Usuários
  • 89 posts
  • Sexo:Não informado

Posted 02/11/2007, 20:55

bom...

pra tu pegar o local onde roda o código é só usar a variável $HTTP_REFERER, com relação a linha eu não sei como faz... mas uma vez que vc tem o endereço da página qual é, é soh rodá-la, e ver o erro....

tenta essa variável ai, agora não lembra se eh essa ou HTTP_REFER .. fugiu um pouco..

abraços.


$HTTP_REFERER vai pegar a URL, não o arquivo onde o código foi rodado.

Uma maneira não muito prática seria fazer assim:

function coisar($file,$line)
{
echo $file.$line;
}
coisar(__FILE__,__LINE__);

Alguem sabe se tem algum jeito melhor para fazer isso?

#6 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 02/11/2007, 21:17

É isso ai o melhor jeito é usar as constante magicas:
http://www.php.net/m....predefined.php

__LINE__: Mostra a Linha do onde o comando está
__FILE__: Mostra o arquivo que está sendo executado

Só a uma resalva, caso seja para detectar erro de qualquer tipo, há menos que queria detectar erros proprios como de SQL, você deve usar uma função extra pois mesmo usando essas linhas ele vai dar o erro padrão do PHP e não em uma função escolhida por você ...

set_error_handler: http://www.php.net/m...ror-handler.php




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq