tuum / builder
基于环境的PHP应用通用构建工具。
1.0.0
2017-11-06 07:55 UTC
Requires
- vlucas/phpdotenv: ^2.4
README
基于各种服务器环境构建应用的通用构建工具。
许可证
MIT许可证
PSR
PSR-1, PSR-2, 和 PSR-4。
安装
composer require "tuum/builder: ^1.0.0"
示例代码
use WScore\Builder\Builder; $builder = Builder::forge( __DIR__ . '/config, // app directory __DIR__ . '/var', // var directory true // debug ); $builder->loadEnv(); $builder->load('setup'); $builder->load('routes'); if ($builder->isEnv('local')) { $builder->load('extra.local'); } $app = $builder->getApp(); // <- must set an app using setApp()!
基本用法
目录结构
Tuum/Builder
假设有两个目录来构建一个应用
APP_DIR
:应用设置的目录,以及VAR_DIR
:不受版本控制文件所在的目录。
例如,
+ config/ // <- APP_DIR
+ setup.php
+ routes.php
+ var/ // <- VAR_DIR
+ .env
+ cache/
构建
使用两个目录构建应用构建器
use WScore\Builder\Builder; $builder = new Builder([ Builder::APP_DIR => __DIR__ . '/config, // app directory Builder::VAR_DIR => __DIR__ . '/var', // var directory Builder::DEBUG => true // debug ]);
或者,如 示例代码部分 所示,简单地使用 forge
方法。
加载PHP文件
要加载 APP_DIR
下的配置文件,使用 load
方法如下;
$builder->load('setup');
在 setup.php
文件中,设置应用,例如
/** @var Tuum\Builder\Builder $builder */ $builder->set(Builder::APP_KEY, 'ENV'); // set value $builder->setApp(new YourApp()); // set your application return [ 'db-name' => $builder->get('DB_NAME', 'demo'), ]; // may return some value
- 构建器拥有期望的
has
、get
和set
方法。 - 存在
setApp()
和getApp()
方法来存储您的应用。 - 从PHP文件返回的值使用构建器的加载名称存储,可以通过:
$builder->get('setup');
来访问。
获取值
get
方法尝试从以下位置获取值:
- 环境值,
$builder
的内部值- 默认值。
$builder->get('DB_NAME', 'my_db');
环境文件
使用 vlucas的dotenv组件 加载 .env
文件。默认的 .env
文件位置在 VAR_DIR
。
.env
文件包含 APP_ENV
键来指定环境,如下所示;
APP_ENV = local
然后,您可以访问环境如下,
$builder->loadEnv(); // load the .env file $builder->isEnv('local'); $builder->isEnvProd(); $env = $builder->getEnv();
如果没有设置环境或没有要加载的环境文件,构建器将环境视为 prod
。
要更改用于指定环境的键字符串,将 Builder::APP_KEY
的值设置为新的键名,例如;
$builder->set(Builder::APP_KEY, 'ENV'); // set value