Skip to content
/ dsn Public

Lite & fast micro PHP library for handling Data Source Names (DSNs) that is **easy to use**.

License

Notifications You must be signed in to change notification settings

utopia-php/dsn

Repository files navigation

Utopia DSN

Total Downloads Discord

Utopia DSN library is simple and lite library for parsing and managing Data Source Names or DSNs. This library aims to be as simple and easy to learn and use as possible. This library is maintained by the Appwrite team.

Although the library was built for the Utopia Framework project, it is completely independent, dependency-free and can be used with any other PHP project or framework.

Getting Started

Install using composer:

composer require utopia-php/dsn
<?php

require_once '../vendor/autoload.php';

$dsn = new DSN('mariadb://user:password@localhost:3306/database?charset=utf8&timezone=UTC');
$scheme = $dsn->getScheme(); // mariadb
$user = $dsn->getUser(); // user
$password = $dsn->getPassword(); // password
$host = $dsn->getHost(); // localhost
$port = $dsn->getPort(); // 3306
$path = $dsn->getPath(); // database
$query = $dsn->getQuery(); // charset=utf8&timezone=UTC
$charset = $dsn->getParam('charset') // utf8
$timezone = $dsn->getParam('timezone') // UTC

Tests

To run all unit tests, use the following Docker command:

docker run --rm -v $(pwd):$(pwd):rw -w $(pwd) php:8.0-cli-alpine sh -c "vendor/bin/phpunit --configuration phpunit.xml tests"

To run the linter, use the following composer command:

composer lint

# Or if you do not have composer installed
docker run --rm -v $(pwd):$(pwd):rw -w $(pwd) composer  sh -c "composer lint"

To fix the errors raised by the linter, use the following command:

composer format

# Or if you do not have composer installed
docker run --rm -v $(pwd):$(pwd):rw -w $(pwd) composer  sh -c "composer format"

System Requirements

Utopia DSN requires PHP 8.0 or later. We recommend using the latest PHP version whenever possible.

Copyright and license

The MIT License (MIT) http://www.opensource.org/licenses/mit-license.php

About

Lite & fast micro PHP library for handling Data Source Names (DSNs) that is **easy to use**.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages