Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Senhores, tenho algumas constantes definidas e preciso chama-las de forma dinâmica.
Por exemplo:
define("D_FOTO","foto/");
define("D_VIDEO","video/");
Na chamada eu passo uma variável com o tipo do arquivo.
$tipo = "foto";
$item = "CONTANTE".$nome_do_arquivo;
Como eu faço para montar a constante, de forma dinâmica?
"D_".$tipo, não funciona.
Faltou um "C" no título do tópico e por algum motivo que foge o entendimento, não posso alterar o título.
mais simples, impossível :)
Já tentei, não serve para o que estou precisando. Provavelmente porque preciso concatenar a constante com o "D_"
Isso é vulgarmente conhecido como gambiarra. O que você realmente quer é um array associativo:
$d = array(
'foto' => 'foto/',
'video' => 'video/'
);
$d['foto']; // 'foto/'
$d['video']; // 'video/'
>
Isso é vulgarmente conhecido como gambiarra. O que você realmente quer é um array associativo:
$d = array(
'foto' => 'foto/',
'video' => 'video/'
);
$d['foto']; // 'foto/'
$d['video']; // 'video/'
Não, o que eu quero é escrever o nome da constante, de forma dinâmica.
Mas já resolvi.
function loadConst($nome) {
$a = 'const';
$a = $nome;
return constant($const);
}
loadConst('D_'.$tipo);
Lembrando que a constante é definida em outro arquivo de configuração, no momento do carregamento do site.
PS: Aliás, não tá faltando só um "C" no título do tópico, tem mais coisa errada. :lol:
Help, moderação. :cry:
É gambiarra pois está utilizando a ferramenta errada para a tarefa correta.
É gambiarra pois está utilizando a ferramenta errada para a tarefa correta.
A questão não era essa, mas enfim...
http://php.net/constant
mais simples, impossível :)