Ir para conteúdo

POWERED BY:

Arquivado

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

Mr. Whyte

[Resolvido] Arquivo de configurações

Recommended Posts

eu gostaria de criar um arquivo de configuração que de para pegar o valor da configuração e de para modificar a mesma em um site! ja pesquisei em muitos lugares mas eu não encontrei uma solução viável que não seja utilizando banco de dados (talvez eu não esteja pesquisando com as palavras certas) se puderem me ajudar dizendo o que eu posso estar utilizando!

gostaria de uma solução em php que não seja utilizando banco de dados se possível! 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Agora, Maykel-ctba disse:

Pode dar um exemplo mais tangível do que você precisa?

Ex:

config.txt (.txt ou outra extensão)

titulo: Teste

 

pagina.php

<h1> <?php echo $config->titulo; ?> </h1>

 

Resultado

Teste

 

conseguiu entender o que quero fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi.

 

Cara, eu faço isso no próprio PHP.

 

config.php

<?php
define("SITE_TITULO", "Site maneiro!");
define("SITE_CSS", "verde");
?>

 

index.php

<?php require_once("config.php"); ?>
<h1><?php echo SITE_TITULO; ?></h1>
<link rel="stylesheet" href="/site/css/layout/layout_<?php echo SITE_CSS ?>.css">

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Mr. Whyte.

 

Cara, eu iria te sugerir uma das opções:

 

1 - Como o Maykel falou. É a forma mais rápida, pois você está utilizando o próprio PHP para armazenar as informações em memória volátil.

 

2 - Salvando suas cfgs em arquivos .ini e utilizando a função nativa parse_ini_file do PHP.

O problema é que naturalmente a leitura em disco é lenta, mas você poderia solucionar isso utilizando um cache em memória, como o Redis, Memcached ou APCu.

 

3 - Armazenando no servidor web (apache). Esse é um pouquinho mais avançado, mas MUITO mais seguro e eficiente para armazenar informações confidenciais como credenciais de banco de dados OU dados que mudam conforme o ambiente, um ótimo exemplo seria o db novamente, já que você geralmente usa dados diferentes de conexão se a aplicação estiver na sua máquina ou na maquina de produção.

3.1 - Você precisaria definir as variáveis usando o SetEnv do Apache ou fastcgi_param do Nginx.

Veja aqui para o Apache: https://stackoverflow.com/questions/3638637/how-to-use-the-setenv-variable-in-apache

Aqui para o nginx: https://serverfault.com/questions/448982/how-to-pass-custom-parameters-to-php-from-nginx

3.2 - Você precisaria recuperar as informações que você definiu anteriormente usando o getenv do PHP.

 

Só pra explicar um pouquinho melhor a diferença do 3 para os demais: nessa opção as configurações não ficam no seu código, mas no servidor web. Seu código pode ir pra um github da vida isento de credenciais de banco, por exemplo.

Já as configurações que devem ser iguais para todos os ambientes, você pode utilizar qualquer uma das opções sem problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, Maykel-ctba disse:

Entendi.

 

Cara, eu faço isso no próprio PHP.

 

config.php


<?php
define("SITE_TITULO", "Site maneiro!");
define("SITE_CSS", "verde");
?>

 

index.php


<?php require_once("config.php"); ?>
<h1><?php echo SITE_TITULO; ?></h1>
<link rel="stylesheet" href="/site/css/layout/layout_<?php echo SITE_CSS ?>.css">

 

mas como eu poderia editar os valores das configurações sem entrar no arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, Matheus Tavares disse:

Olá @Mr. Whyte.

 

Cara, eu iria te sugerir uma das opções:

 

1 - Como o Maykel falou. É a forma mais rápida, pois você está utilizando o próprio PHP para armazenar as informações em memória volátil.

 

2 - Salvando suas cfgs em arquivos .ini e utilizando a função nativa parse_ini_file do PHP.

O problema é que naturalmente a leitura em disco é lenta, mas você poderia solucionar isso utilizando um cache em memória, como o Redis, Memcached ou APCu.

 

3 - Armazenando no servidor web (apache). Esse é um pouquinho mais avançado, mas MUITO mais seguro e eficiente para armazenar informações confidenciais como credenciais de banco de dados OU dados que mudam conforme o ambiente, um ótimo exemplo seria o db novamente, já que você geralmente usa dados diferentes de conexão se a aplicação estiver na sua máquina ou na maquina de produção.

3.1 - Você precisaria definir as variáveis usando o SetEnv do Apache ou fastcgi_param do Nginx.

Veja aqui para o Apache: https://stackoverflow.com/questions/3638637/how-to-use-the-setenv-variable-in-apache

Aqui para o nginx: https://serverfault.com/questions/448982/how-to-pass-custom-parameters-to-php-from-nginx

3.2 - Você precisaria recuperar as informações que você definiu anteriormente usando o getenv do PHP.

 

Só pra explicar um pouquinho melhor a diferença do 3 para os demais: nessa opção as configurações não ficam no seu código, mas no servidor web. Seu código pode ir pra um github da vida isento de credenciais de banco, por exemplo.

Já as configurações que devem ser iguais para todos os ambientes, você pode utilizar qualquer uma das opções sem problemas.

entendi, muito obrigado! vou tentar :3

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

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