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, 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
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

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