PHP database library.
PHP PDO abstraction with factory to handle reconnection & connections to multiple databases., (*2)
If you wish to install it in your project, require it via composer:, (*3)
composer require eureka/component-database
You can install the component (for testing) with the following command:, (*4)
make install
You can update the component (for testing) with the following command:, (*5)
make update
<?php use Eureka\Component\Database\ConnectionFactory; $factory = new ConnectionFactory( [ 'common' => [ 'dsn' => 'mysql:dbname=my_database;host=localhost;charset=UTF8', 'user' => 'user', 'password' => 'pass', 'options' => null, ], ] ); $connection = $factory->getConnection('common'); $connection->query('SELECT * FROM my_table');
You can run tests on your side with following commands:, (*6)
make tests # run tests with coverage make testdox # run tests without coverage reports but with prettified output
You also can run code style check or code style fixes with following commands:, (*7)
make phpcs # run checks on check style make phpcbf # run check style auto fix
To perform a static analyze of your code (with phpstan, lvl 9 at default), you can use the following command:, (*8)
make phpstan make analyze # Same as phpstan but with CLI output as table
To ensure you code still compatible with current supported version and futures versions of php, you need to run the following commands (both are required for full support):, (*9)
make php74compatibility # run compatibility check on current minimal version of php we support make php81compatibility # run compatibility check on last version of php we will support in future
And the last "helper" commands, you can run before commit and push is:, (*10)
make ci
This command clean the previous reports, install component if needed and run tests (with coverage report), check the code style and check the php compatibility check, as it would be done in our CI., (*11)
See the CONTRIBUTING file., (*12)
This project is currently under The MIT License (MIT). See LICENCE file for more information., (*13)