ngabor84 / laravel-dbconnstring-parser
Small service to parse database connection string into parts
Installs: 3 142
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
- illuminate/support: ^v10.13
Requires (Dev)
- laravel/framework: ^v10.13
- laravel/lumen-framework: ^10.0
- nunomaduro/larastan: ^2.6
- orchestra/testbench: ^v8.5
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.2
README
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 ) ] ] ];