Configurações

O Inphinit oferece diversas abordagens de configuração adaptadas a diferentes finalidades, incluindo o uso de variáveis de ambiente.

Variáveis ambientais

As variáveis de ambiente podem ser configuradas diretamente no ambiente, por meio de diretivas ou através de um .env arquivo. A seguir, uma descrição das variáveis de ambiente padrão do aplicativo:

Variável Descrição
APP_ENVIRONMENT Define o ambiente atual; qualquer valor é aceito. Por padrão, o valor APP_ENVIRONMENT=development ativará o depurador do framework.
APP_BUILT_IN_HOST Utilizado apenas para o servidor web integrado, este parâmetro define o host padrão. Observe que o host ainda pode ser alterado através da linha de comando (ex: run serve --host 0.0.0.0).
APP_BUILT_IN_PORT Utilizado apenas para o servidor web integrado, este parâmetro define a porta padrão. Observe que a porta ainda pode ser alterada através da linha de comando (ex: run serve --port 8001).
APP_BUILT_IN_HOST Used only for the built-in web server, this sets the default host. Note that the host can still be overridden via the command line (e.g., run serve --host 0.0.0.0)
APP_BUILT_IN_PORT Used only for the built-in web server, this sets the default port. Note that the port can still be overridden via the command line (e.g., run serve --port 8001)
APP_FORWARDED_PROTO -
APP_FORWARDED_HOST -
APP_FORWARDED_PORT -
APP_SESSION_EXPIRES Usado para determinar a duração de uma sessão criada por uma instância Inphinit\Session de
APP_COMPOSER_AUTOLOAD Habilita ou desabilita o composer-autoload. Observe que o infinit-autoload é o padrão e funciona em conjunto com o Composer, sendo altamente otimizado. O composer-autoload só deve ser usado se você tiver um pacote de terceiros conflitante que exija o composer-autoload.
APP_SKIP_ENV_FILE Essa variável é opcional, mas muito útil ao executar em servidores que oferecem configuração de variáveis de ambiente ou configurações baseadas em painel, ou ao usar o Docker, onde carregar um arquivo .env é desnecessário. Nesses cenários, ao usar APP_SKIP_ENV_FILE=1 impedirá que o arquivo .env seja carregado desnecessariamente.

Por padrão, o framework carregará o .env arquivo, mas se você quiser definir as variáveis manualmente ou por meio de um painel no seu servidor, ou se o seu servidor fornecer um recurso específico para esse cenário, você pode usar APP_SKIP_ENV_FILE=1, como mencionado anteriormente. Abaixo, segue um exemplo via terminal para uso local em ambientes de desenvolvimento:

APP_ENVIRONMENT=development APP_BUILT_IN_HOST=localhost APP_BUILT_IN_PORT=5000 APP_SESSION_EXPIRES=86400 APP_SKIP_ENV_FILE=1 ./run serve [Mon Dec 8 15:01:24 2025] PHP 8.5.0RC4 Development Server (http://localhost:5000) started

Carregamento automático

O Inphinit Autoloader é um autoloader otimizado que permite carregar classes instaladas via Composer. Para usar o Composer Autoloader, defina o valor APP_COMPOSER_AUTOLOAD=1 nas variáveis de ambiente (ou no arquivo .env).

É importante notar que o infinit-autoload é bastante otimizado e você raramente precisará alterá-lo; você só deve fazer isso se alguma biblioteca de terceiros estiver causando um conflito que exija o composer-autoload.

Constantes

As constantes padrão na estrutura permitem alterações de comportamento e implementações personalizadas sem a necessidade de modificar os recursos existentes.

Constante Editável Descrição
INPHINIT_ROOT ✔️
é editável
Deve conter o caminho da pasta onde index.php está localizado.
INPHINIT_START ✔️
é editável
Pode ser usado para testes de desempenho simples, estimando o tempo necessário para a execução de uma tarefa, desde o início da execução.
INPHINIT_SYSTEM ✔️
é editável
Deve conter o caminho da pasta do sistema; esta pasta contém o projeto, os dados e os pacotes.
INPHINIT_PATH
não editável
Contém o caminho da solicitação de URL atual. Essa constante é usada principalmente pelo sistema de rotas.
INPHINIT_URL
não editável
Contém a URL onde a aplicação está localizada. Esta constante é usada principalmente pelo sistema de escopo de rotas.
INPHINIT_MAINTENANCE
não editável
Contém a localização do arquivo que define se o aplicativo está em modo de manutenção. O valor é armazenado em uma constante para evitar acoplamento desnecessário, caso você precise implementar algo específico para o comportamento do modo de manutenção.

Arquivos de configuração

Na pasta system/Configs, você pode adicionar scripts PHP que contenham um array com valores adequados para diferentes usos. Observe que não é recomendável armazenar valores sensíveis diretamente.

O projeto padrão contém alguns exemplos de uso totalmente hipotéticos, que devem ser ajustados ou usados simplesmente para entender o mecanismo e adaptados às suas necessidades. Hipoteticamente, se você fosse usar a API MySQLi para se conectar, poderia criar um arquivo de configuração como este system/Configs/databases/main.php e adicionar algo como:

<?php use Inphinit\Experimental\Environment\Env; return array( 'host' => Env::entry('DB_HOST'), 'user' => Env::entry('DB_USER'), 'pass' => Env::entry('DB_PASS'), 'database' => Env::entry('DB_DATABASE'), 'charset' => 'utf8', 'report_mode' => MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT, );

E então use-o com a Inphinit\Config turma, por exemplo hipotético:

<?php use Inphinit\Configs; $config = new Configs('databases.main'); // from: system/Configs/databases/main.php mysqli_report($config->report_mode); $mysqli = new mysqli($config->host, $config->user, $config->pass, $config->database);
Página inicial
Apoie com uma estrela no GitHub