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仓库上的问题跟踪器中提交问题。