aequasi/environment

PHP 环境类

3.0.1 2018-04-23 23:30 UTC

This package is auto-updated.

Last update: 2024-08-25 03:59:42 UTC


README

这个类非常简单。它为您的 PHP 项目添加环境。

安装

使用 composer 安装

composer require aequasi/environment

使用方法

要设置环境,请将 Environment 类放入您的入口控制器中。例如

<?php

require_once __DIR__.'/vendor/autoload.php';

$environment = new Aequasi\Environment\Environment;

// By default, the environment is set to 'dev'
echo $environment->getType();
// Above will echo 'dev';
var_dump($environment->isDebug());
// Above will dump true

您可以使用 Environment::$DEFAULT_ENVIRONMENT (字符串)来设置默认环境,并可以使用 Environment::$DEBUG_TYPES (字符串数组)来设置调试模式中的环境。

还可以通过覆盖 Environment::$DEFAULT_TYPE (字符串数组)参数来更改允许的环境。

设置环境

一旦您准备好开始使用其他环境(如 teststagingprod),有以下几种方法可以实现。

1. php.ini

在您的 php.ini 文件中,设置 php.environment 将为使用该 php.ini 的所有进程设置环境。

2. $_SERVER['PHP_ENVIRONMENT']

您可以使用 Apache 或 Nginx 设置服务器变量,或者修改您的 $_SERVER 标头以设置环境。

3. CLI 参数

如果您使用的是 SymfonyEnvironment 类,您可以通过创建环境的不同方式将其与参数(--env--no-debug)相关联。

#!/usr/bin/env php
<?php
set_time_limit(0);

require_once __DIR__.'/bootstrap.php.cache';
require_once __DIR__.'/AppKernel.php';

use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;
use Aequasi\Environment\SymfonyEnvironment;

$input = new ArgvInput( );
$env = new SymfonyEnvironment( $input );

if( $env->isDebug() ) {
  Debug::enable();
}

$kernel = new AppKernel( $env->getType(), $env->isDebug() );
$application = new Application($kernel);
$application->run( $input );