talmira/envelophp

解析dotenv文件以用于原生PHP应用

v2.0.0 2021-04-27 22:24 UTC

This package is auto-updated.

Last update: 2024-09-11 07:58:26 UTC


README

alt text

License GitHub stars GitHub forks GitHub issues

Latest Stable Version Latest Unstable Version Total Downloads

GitHub code size in bytes License

什么是envelophp?

此包可以帮助您将数据库放在一个地方,并在您的原生PHP应用中跨用。

envelophp使用.env文件来存储数据库凭证,并将其内容解析用于数据库连接。

目前,envelophp仅支持mysql数据库。

安装

使用Composer进行简单安装

composer require talmira/envelophp

设置

  • 创建.env文件

导航到您的项目根目录,然后使用以下方法之一创建.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文件中,以避免将凭证发布到公共领域。

  • 修改.env文件

#Database#
HOST = "localhost"
DATABASE_DSN = "mysql"
DATABASE_NAME = "sample_db"
DATABASE_USERNAME = "sample_username"
DATABASE_PASSWORD = "sample_password"

测试

envelophp提供自己的单元测试用例

  • 从.env中获取信息

此测试用例验证.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概念。