Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo_Filho

Origem de variáveis incluídas em um script

Recommended Posts

Bom dia Pessoal,

Estou começando agora a programar em PHP e me deparei com uma dúvida crucial ao desenvolvimento de meu trabalho: em um sistema relativamente complexo escrito em PHP, como posso "rastrear" a origem das variáveis inclusas no script, de forma a saber de quais outros scripts elas vêm?

Por exemplo:

 

include_once("/arquivo1.php");

include_once("/arquivo2.php");

include_once("/arquivo3.php");

 

<?php echo $var1;?>

<?php echo $var2;?>

<?php echo $var3;?>

 

De onde estão vindo estas variáveis? Lembrando que em um sistema grande, sair procurando em todos os arquivos seria uma tarefa complicadíssima de se executar. Tentei utilizar o debug do eclipse mas não obtive êxito, talvez não utilizei corretamente os procedimentos.

Agradeço desde então.

 

Marcelo de Freitas Xavier Filho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não estiver orientado a objeto,não sei.

Quando precisei fazer algo do tipo,usei:

<?php
get_class($variavel);
?>

Como as classes são divididas em arquivos,pegando o nome da classe você pega o nome do arquivo.

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se existe uma função que faça isso eu nao conheço, mas você poderia fazer da seguinte maneira,

 

apos incluir o primeiro arquivo, você da um isset em todas as variaveis desconhecidas do script

 

include_once("/arquivo1.php");

var_dump(isset($var1));
var_dump(isset($var2));
var_dump(isset($var3));

exit;
include_once("/arquivo2.php");
include_once("/arquivo3.php");

assim você descobre aos poucos de onde elas vem ...provavelmente nao é o jeito mais facil, mas serve

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao ...

 

se voltou true e pq a variavel foi criada anteriormente ao isset() ... ou seja, ela pertence ao arquivo includado antes de você fazer isso ..

 

se voltar true quer dizer que ela pertence ao arquivo includado anteriormente, se for false nao ...

 

você vai tirando as que retornaram true, e continua as que deram false ..

 

include_once("/arquivo1.php");

var_dump(isset($var1)); //true, ela pertence ao arquivo1.php
var_dump(isset($var2)); // false
var_dump(isset($var3)); // false

include_once("/arquivo2.php");

var_dump(isset($var2)); // false
var_dump(isset($var3)); // true, ela pertence ao arquivo2.php

include_once("/arquivo3.php");

var_dump(isset($var2)); // true, ela pertence ao arquivo3.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o objetivo de saber de onde vem? (perguntinha pertinente a minha...)

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Modificar o valor das variáveis, as funções onde estão incluídas, etc...

 

Só como exemplo, até o título de meu arquivo phtml é o valor de uma variável que não sei onde ela está.

 

<title><?php echo $pmTitle?></title>

 

São vários include(), cada qual com mais include() dentro... E por aí vai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

get_class() só funciona se a variavel for um objeto de alguma classe!

Exemplo:

<?php
class ex {
}
$obj = new ex;
echo get_class($obj); //ex
?>

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz sentido, mas você concorda que se houver, por exemplo, 30 include(), fica um tanto inviável realizar este procedimento?

 

"Na falta de algo melhor, nunca me faltou coragem..."Engenheiros do Hawaii

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara...se estiver usando classes é só fazer o que eu te falei!

Programadores experientes geralmente usam OO.

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se eu não estiver usando classes, caso seja simplesmente uma veriável passada entre os diversos arquivos .php atrasvés de require's e include's? Estava tentando através do debug do eclipse, mas bão consegui.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se eu não estiver usando classes, caso seja simplesmente uma veriável passada entre os diversos arquivos .php atrasvés de require's e include's? Estava tentando através do debug do eclipse, mas bão consegui.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.