All Projects → auraphp → Aura.sql

auraphp / Aura.sql

Licence: mit
SQL database access through PDO.

Projects that are alternatives of or similar to Aura.sql

Laravel Db Profiler
Database Profiler for Laravel Web and Console Applications.
Stars: ✭ 141 (-70.81%)
Mutual labels:  database, profiler
Ray.aurasqlmodule
Aura.Sql module for Ray.Di
Stars: ✭ 5 (-98.96%)
Mutual labels:  database, aura
Orientdb
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. OrientDB Community Edition is Open Source using a liberal Apache 2 license.
Stars: ✭ 4,394 (+809.73%)
Mutual labels:  database
Goappmonitor
Golang application performance data monitoring.
Stars: ✭ 478 (-1.04%)
Mutual labels:  profiler
Medoo
The lightweight PHP database framework to accelerate the development.
Stars: ✭ 4,463 (+824.02%)
Mutual labels:  database
Etlalchemy
Extract, Transform, Load: Any SQL Database in 4 lines of Code.
Stars: ✭ 460 (-4.76%)
Mutual labels:  database
Sol Journal
✎ Simple, personal journaling progressive web app
Stars: ✭ 470 (-2.69%)
Mutual labels:  database
Sleekdb
Pure PHP NoSQL database with no dependency. Flat file, JSON based document database.
Stars: ✭ 450 (-6.83%)
Mutual labels:  database
Migrate Mongo
A database migration tool for MongoDB in Node
Stars: ✭ 481 (-0.41%)
Mutual labels:  database
Jooq
jOOQ is the best way to write SQL in Java
Stars: ✭ 4,695 (+872.05%)
Mutual labels:  database
Evolve
Database migration tool for .NET and .NET Core projects. Inspired by Flyway.
Stars: ✭ 477 (-1.24%)
Mutual labels:  database
Redislite
Redis in a python module.
Stars: ✭ 464 (-3.93%)
Mutual labels:  database
Nohm
node.js object relations mapper (orm) for redis
Stars: ✭ 462 (-4.35%)
Mutual labels:  database
Laravel Backup
A package to backup your Laravel app
Stars: ✭ 4,752 (+883.85%)
Mutual labels:  database
Monitor Table Change With Sqltabledependency
Get SQL Server notification on record table change
Stars: ✭ 459 (-4.97%)
Mutual labels:  database
Wp Eloquent
Eloquent ORM for WordPress
Stars: ✭ 478 (-1.04%)
Mutual labels:  database
Bogus
📇 A simple and sane fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Stars: ✭ 5,083 (+952.38%)
Mutual labels:  database
App
Directus Admin Application — An Intuitive WebApp for Managing Database Content
Stars: ✭ 464 (-3.93%)
Mutual labels:  database
Openrgb
Open source RGB lighting control that doesn't depend on manufacturer software. Supports Windows, Linux, MacOS. Issue tracker is on GitLab: https://gitlab.com/CalcProgrammer1/OpenRGB
Stars: ✭ 464 (-3.93%)
Mutual labels:  aura
Maghead
The fastest pure PHP database framework with a powerful static code generator, supports horizontal scale up, designed for PHP7
Stars: ✭ 483 (+0%)
Mutual labels:  database

Aura.Sql

Provides an extension to the native PDO along with a profiler and connection locator. Because ExtendedPdo is an extension of the native PDO, code already using the native PDO or typehinted to the native PDO can use ExtendedPdo without any changes.

Added functionality in Aura.Sql over the native PDO includes:

  • Lazy connection. ExtendedPdo connects to the database only on method calls that require a connection. This means you can create an instance and not incur the cost of a connection if you never make a query.

  • Decoration. DecoratedPdo can be used to decorate an existing PDO instance. This means that a PDO instance can be "extended" at runtime to provide the ExtendedPdo behaviors.

  • Array quoting. The quote() method will accept an array as input, and return a string of comma-separated quoted values.

  • New perform() method. The perform() method acts just like query(), but binds values to a prepared statement as part of the call. In addition, placeholders that represent array values will be replaced with comma- separated quoted values. This means you can bind an array of values to a placeholder used with an IN (...) condition when using perform().

  • New fetch*() methods. The new fetch*() methods provide for commonly-used fetch actions. For example, you can call fetchAll() directly on the instance instead of having to prepare a statement, bind values, execute, and then fetch from the prepared statement. All of the fetch*() methods take an array of values to bind to to the query statement, and use the new perform() method internally.

  • New yield*() methods. These are complements to the fetch*() methods that yield results instead of returning them.

  • Exceptions by default. ExtendedPdo starts in the ERRMODE_EXCEPTION mode for error reporting instead of the ERRMODE_SILENT mode.

  • Profiler. An optional query profiler is provided, along with an interface for other implementations, that logs to any PSR-3 interface.

  • Connection locator. A optional lazy-loading service locator is provided for picking different database connections (default, read, and write).

Installation and Autoloading

This package is installable and PSR-4 autoloadable via Composer as aura/sql.

Alternatively, download a release, or clone this repository, then map the Aura\Sql\ namespace to the package src/ directory.

Dependencies

This package requires PHP 5.6 or later; it has also been tested on PHP 7 and HHVM. We recommend using the latest available version of PHP as a matter of principle.

Aura library packages may sometimes depend on external interfaces, but never on external implementations. This allows compliance with community standards without compromising flexibility. For specifics, please examine the package composer.json file.

Quality

Scrutinizer Code Quality Code Coverage Build Status PDS Skeleton

This project adheres to Semantic Versioning.

To run the unit tests at the command line, issue composer install and then ./vendor/bin/phpunit at the package root. (This requires Composer to be available as composer.)

This package attempts to comply with PSR-1, PSR-2, and PSR-4. If you notice compliance oversights, please send a patch via pull request.

Community

To ask questions, provide feedback, or otherwise communicate with other Aura users, please join our Google Group, follow @auraphp, or chat with us on Freenode in the #auraphp channel.

Documentation

This package is fully documented here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].