Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pois bem, pelo título parece simples mais vai por mim não é :P
Estou fazendo um website ai, hehe, e preciso de uma ajudinha com Array e Define então deixa eu demonstrar como eu quero primeiro.
Tenho as arrays....
<?php
$web['config']['name'] = "Minha Configuração";
$web['config']['title'] = "Título do site";
$web['config']['autor'] = "Meu Nome";
$web['conexao']['ip'] = "127.0.0.1";
$web['conexao']['user'] = "root";
$web['conexao']['pass'] = "";
?>
bom até ai esta simples, porém preciso, na verdade não preciso mais é só para complicar mesmo, fazer isso se transformar em Define tipo..pego as arrays e transformo, só que quero fazer sem complicação sem ficar escrevendo 1 por 1 fazer com um loop tudo bem rápido do tipo que fique...
<?php
for ($i=0; $i < count($web); $i++) {
define($var, $valor);
}
?>
queria um código que transformasse
$web['config']['autor'] = "Meu Nome";
em
WEB_CONFIG_AUTOR
para ser o $vare para o $valor que ele montasse a array, que esta sendo utilizada atualmente...
de modo que fique
<?php
define(WEB_CONFIG_AUTOR, $web['config']['autor']);
?>
Obrigado desde já!
Não é só usada pelo arquivo Define.php
que é o que eu ainda estou tentando fazer..
ençtao se torna desnecessário o uso disso tudo
cloque tudo diretamente no define ao inv´pes de fazer esse array e o loop
Só que ai que ta a questão
eu não quero ficar escrevendo define para cada
$web['...........
porque são muitas...
dai queria saber um jeito de fazer esse array + define + loop para simplificar minha vida :s
...
>
Só que ai que ta a questão
eu não quero ficar escrevendo define para cada
Quando hinom perguntou se a matriz $web era utilizada em outro ponto da sua aplicação e depois disse para colocar diretamente no define era para você fazer algo assim:
define( 'WEB_CONFIG_NAME' , 'Minha Configuração' );
define( 'WEB_CONFIG_TITLE' , 'Título do site' );
define( 'WEB_CONFIG_AUTOR' , 'Meu Nome' );
define( 'WEB_CONEXAO_IP' , '127.0.0.1' );
define( 'WEB_CONEXAO_USER' , 'root' );
define( 'WEB_CONEXAO_PASS' , '' );
Uma vez que você terá que escrever isso ou na matriz ou no define pelo menos uma vez, faça diretamente no define já que a matriz $web não será mais utilizada.
Porém, se você quiser realmente utilizar a matriz $web e depois iterar essa matriz para definir as constantes, você pode fazer isso:
<?php
$web = array();
$web['config']['name'] = "Minha Configuração";
$web['config']['title'] = "Título do site";
$web['config']['autor'] = "Meu Nome";
$web['conexao']['ip'] = "127.0.0.1";
$web['conexao']['user'] = "root";
$web['conexao']['pass'] = "";
foreach ( $web as $super => $item ) foreach ( $item as $sub => $value )
define( strtoupper( sprintf( 'WEB_%s_%s' , $super , $sub ) ) , $value );
echo WEB_CONFIG_NAME; //Minha Configuração
----- Hinom
foi mal ai Hinom, não tinha entendido então a sua pergunta lá...
mais então eu não coloquei direto porque o arquivo de Configuração é onde tem as arrays e é usado por pessoas que fizerem o download do sistema que estou fazendo, e o arquivo de define é usado pelo website,
----- João
João valeu, era isso mesmo que eu queria :]~~
o array $web é usado em outros locais ?