Download the PHP package compositephp/db without Composer
On this page you can find all versions of the php package compositephp/db. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package db
What is Composite DB
Composite DB is lightweight and fast PHP DataMapper and Table Gateway which allows you to represent your SQL tables scheme in OOP style using full power of PHP 8.1+ class syntax.
It also gives you CRUD, query builder and automatic caching out of the box, so you can start to work with your database from php code in a minutes!
Overview:
- Features
- Requirements
- Installation
- Quick example
- Documentation
Features
- Lightweight - easier entity schema, no getters and setters, you don't need attributes for each column definition, just use native php class syntax.
- Speed - it's 1.5x faster in pure SQL queries mode and many times faster in automatic caching mode (see benchmark).
- Easy caching - gives you CRUD operations caching out of the box and in general it's much easier to work with cached "selects".
- Strict types - Composite DB forces you to be more strict typed and makes your IDE happy.
- Hydration - you can serialize your Entities to plain array or json and deserialize them back.
- Flexibility - gives you more freedom to extend Repositories, for example it's easier to build sharding tables.
- Code generation - you can generate Entity and Repository classes from your SQL tables.
- Division of responsibility - every Entity has its own Repository class, and it's the only entry point to make queries to your table.
It also has many popular features such as:
- Query Builder - build your queries with constructor, based on doctrine/dbal
- Migrations - synchronise your php entities with database tables
Requirements
- PHP 8.1+
- PDO Extension with desired database drivers
Installation
-
Install package via composer:
- Configure
Composite\DB\ConnectionManager
(example) - (Optional) Configure symfony/console commands to use automatic class generators (example)
- (Optional) Install and configure any PSR-16 (simple cache) package to use automatic caching
Quick example
Imagine you have simple table Users
First, you need to do is to execute command to generate php entity:
New entity class User
and enum Status
will be automatically generated:
Second step, is to generate a table class (repository) for your entity:
And that's it, now you have CRUD for your SQL table and simple selects:
You can find full working example here which you can copy and run as is.
You can also serialize user entity to array or json:
Or deserialize (hydrate) entity from array:
And that's it, no special getters or setters, no "behaviours" or extra code, smart entity casts everything automatically. More about Entity and supported auto casting types you can find here.
License:
MIT License (MIT). Please see LICENSE
for more information. Maintained by Composite PHP.
All versions of db with dependencies
ext-pdo Version *
psr/simple-cache Version 1 - 3
compositephp/entity Version ^v0.1.11
doctrine/dbal Version ^3.5