jevets / kirby-phpdotenv
适用于Kirby CMS的PHPDotenv
0.0.3
2016-03-30 17:24 UTC
Requires
- php: >=5.3.0
- vlucas/phpdotenv: ~2.0
This package is not auto-updated.
Last update: 2024-09-26 00:05:36 UTC
README
这是一个围绕vlucas' PHP dotenv库的简单包装,用于Kirby CMS。
为什么?
我已经在我的Kirby项目中使用.env
有一段时间了,但我厌倦了每次为每个新站点粘贴env()
函数。所以,我创建了这个包。
快速示例
# .env
APP_DEBUG=true
# site/config/config.php c::set('debug', env('APP_DEBUG', false));
# elsewhere c::get('debug'); // true
安装
通过Composer安装
composer require jevets/kirby-phpdotenv
用法
1. 实例化
在你的网站的index.php
文件中(或在site.php
文件中),加载Composer的自动加载器。
require_once 'path/to/vendor/autoload.php';
然后使用以下方式实例化:
- dotenv可以找到你的
.env
文件的路径 - 除了
.env
之外的文件名
new Jevets\Kirby\Dotenv\Dotenv(__DIR__ . DS, '.env');
注意: Jevets\Kirby\Dotenv\Dotenv
将为你实例化并运行[dotenv]->load()
。
2. 创建你的.env
文件
KIRBY_LICENSE=1234-12345-123456 APP_MODE=production APP_DEBUG=true
3. 在config.php
文件中使用
c::set('license', env('KIRBY_LICENSE', 'put your license in .env')); c::set('debug', env('APP_DEBUG', false)); c::get('license'); // "1234-12345-123456" c::get('debug'); // true
此库加载一个全局辅助函数
function env($key, $default = '') {...}
注意 function env()
声明被if (!function_exists('env'))
包裹,因此你可以覆盖它或使用自己的方法。
自定义文件夹设置
在我的Kirby项目中,我通常保持以下文件夹结构
project/ .env .env.example .gitignore package.json composer.json site/ accounts/ blueprints/ cache/ config/ snippets/ templates/ public/ kirby/ toolkit/ panel/ content/ assets/ thumbs/ index.php site.php src/ vendor/
这里是我的典型的site.php
# Composer autoload require __DIR__ . DS . '..' . DS . 'vendor' . DS . 'autoload.php'; # DotEnv new Jevets\Kirby\Dotenv\Dotenv(__DIR__ . DS . '..'); # Setup Kirby $kirby = kirby(); $kirby->roots()->site = __DIR__ . DS . '..' . DS . 'site';
变更日志
0.0.3
- 将helpers.php中的类别名从
String
重命名为Str
,以兼容PHP7
0.0.2
- 初始版本发布
合作
欢迎提交拉取请求和建议!
致谢
- dotenv的全部功劳都归功于vlucas,他在PHP dotenv上的出色工作。我只是将它包装在包中,以加快基于Kirby的站点的开发。
- 我从Laravel 5.1中盗用了Taylor Otwell的
env()
函数,并对其进行了一些调整,以便与Kirby一起使用。
错误/问题
请在GitHub仓库上的问题跟踪器中提交问题。