Looking to hire Laravel developers? Try LaraJobs

laravel-dbconnstring-parser maintained by ngabor84

Description
Small service to parse database connection string into parts
Author
Last update
2023/06/09 11:42 (dev-master)
License
Downloads
3 147

Comments
comments powered by Disqus

GitHub license

Database Connection String Parser

Small service to parse database connection string into parts.

About

This package allows you to parse database connection string into parts.

Installation

Require the ngabor84/laravel-dbconnstring-parser package in your composer.json and update your dependencies:

composer require ngabor84/laravel-dbconnstring-parser

Usage with Laravel

Add the service provider to the providers array in the config/app.php config file as follows:

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

In your database config file you can use it like this:

$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
            )
        ]
    ]
];

Usage with Lumen

Add the following snippet to the bootstrap/app.php file under the providers section as follows:

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

In your database config file you can use it like this:

$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
            )
        ]
    ]
];