Ir para conteúdo

POWERED BY:

Arquivado

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

_M!K0L_

[Resolvido] Array e Define

Recommended Posts

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 $var

e 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á!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é só usada pelo arquivo Define.php

que é o que eu ainda estou tentando fazer..

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

----- 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 :]~~

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.