ngabor84/laravel-dbconnstring-parser

将数据库连接字符串解析为部分的轻量级服务

2.0.0 2023-06-09 09:42 UTC

This package is auto-updated.

Last update: 2024-09-09 12:23:24 UTC


README

GitHub license

数据库连接字符串解析器

将数据库连接字符串解析为部分的轻量级服务。

关于

此包允许您将数据库连接字符串解析为部分。

安装

在 composer.json 中要求 ngabor84/laravel-dbconnstring-parser 包并更新您的依赖关系

composer require ngabor84/laravel-dbconnstring-parser

与 Laravel 一起使用

将服务提供者添加到 config/app.php 配置文件中的 providers 数组中,如下所示

'providers' => [
    ...
    \Service\Database\ConnectionStringParser\Providers\ServiceProvider::class,
]

在您的数据库配置文件中,您可以像这样使用它

$connection = ConnectionStringParser::parse(env('DATABASE_URL'));

return [
    'default' => 'pgsql',
    'connections' => [
        'pgsql' => [
            'driver' => 'pgsql',
            'host' => $connection->getHost(),
            'username' => $connection->getUserName(),
            'password' => $connection->getPassword(),
            'port' => $connection->getPort(),
            'database' => $connection->getDatabase(),
            'charset' => 'utf8',
            'options' => array(
                PDO::ATTR_PERSISTENT => true
            )
        ]
    ]
];

与 Lumen 一起使用

将以下片段添加到 providers 部分的 bootstrap/app.php 文件中,如下所示

// uncomment this line to enable Facades
$app->withFacades();
...
$app->register(\Service\Database\ConnectionStringParser\Providers\ServiceProvider::class);

在您的数据库配置文件中,您可以像这样使用它

$connection = ConnectionStringParser::parse(env('DATABASE_URL'));

return [
    'default' => 'pgsql',
    'connections' => [
        'pgsql' => [
            'driver' => 'pgsql',
            'host' => $connection->getHost(),
            'username' => $connection->getUserName(),
            'password' => $connection->getPassword(),
            'port' => $connection->getPort(),
            'database' => $connection->getDatabase(),
            'charset' => 'utf8',
            'options' => array(
                PDO::ATTR_PERSISTENT => true
            )
        ]
    ]
];