talmira / envelophp
解析dotenv文件以用于原生PHP应用
v2.0.0
2021-04-27 22:24 UTC
Requires
- php: >=5.6
- ext-pdo: *
README
什么是envelophp?
此包可以帮助您将数据库放在一个地方,并在您的原生PHP应用中跨用。
envelophp使用.env文件来存储数据库凭证,并将其内容解析用于数据库连接。
目前,envelophp仅支持mysql数据库。
安装
使用Composer进行简单安装
composer require talmira/envelophp
设置
导航到您的项目根目录,然后使用以下方法之一创建.env文件:
1- 使用curl创建.env文件
curl -LJ -o ".env" https://gist.github.com/theahmedlatif/3c5c7fd454f48898d7660bef555aca31/raw
2- 使用wget创建.env文件
wget --output-document=.env --no-check-certificate --content-disposition https://gist.github.com/theahmedlatif/3c5c7fd454f48898d7660bef555aca31/raw
您必须将.env添加到您的.gitignore文件中,以避免将凭证发布到公共领域。
#Database# HOST = "localhost" DATABASE_DSN = "mysql" DATABASE_NAME = "sample_db" DATABASE_USERNAME = "sample_username" DATABASE_PASSWORD = "sample_password"
测试
envelophp提供自己的单元测试用例
此测试用例验证.env文件位置是否由Envelope类指向的位置,以及读取变量的能力。
php vendor/talmira/envelophp/test/FetchDotEnv.php
此测试用例使用.env变量测试数据库连接。
php vendor/talmira/envelophp/test/MysqlDBTest.php
用法
1- 创建数据库
- 如果您还没有创建数据库,可以使用envelophp的此辅助功能,
createDatabase()使用.env文件中提到的数据库_name创建MySQL数据库。
<?php require_once dirname(__FILE__).'/vendor/autoload.php'; use Envelope\Database\MysqlDatabase; $database = new MysqlDatabase(); $database->createDatabase();
2- 创建连接
- 简单地在您想要连接到数据库的文件中require autoload.php。
- 然后使用
MysqlDatabase命名空间 - 现在您准备好创建
MysqlDatabase的新实例。 - 要建立数据库连接,请调用
getConnection()。
<?php require_once dirname(__FILE__).'/vendor/autoload.php'; use Envelope\Database\MysqlDatabase; $database = new MysqlDatabase(); $database->getConnection();
3- 通过调用closeConnection()方法关闭数据库连接
$database->closeConnection();
结论
在您的原生PHP项目中使用envelophp非常简单,并且将应用DRY概念。