1DALMP
2=====
3
4**Database Abstraction Layer for MySQL using PHP**
5
60% fat and extremely easy to use. Only connect to database when needed.
7
8Examples and documentation at: http://docs.dalmp.com
9
10
11Clone the repository:
12
13
14    $ git clone https://github.com/nbari/DALMP.git dalmp
15
16
17To Install visit  http://docs.dalmp.com/en/latest/Install.html
18
19Thanks
20------
21
22Many thanks [Navicat](http://www.navicat.com) for supporting Open Source projects.
23
24![navicat](https://raw.githubusercontent.com/nbari/DALMP/master/docs/navicat.jpg)
25
26Details
27-------
28
29* [Dependecy Injector](http://docs.dalmp.com/en/latest/DI.html) (DI) support, load once, trigger when required.
30* [APC](http://docs.dalmp.com/en/latest/cache/APC.html), [Disk](http://docs.dalmp.com/en/latest/cache/disk.html), [Memcache](http://docs.dalmp.com/en/latest/cache/memcache.html), [Redis.io](http://docs.dalmp.com/en/latest/cache/redis.html>) cache support.
31* Group [caching cache](http://docs.dalmp.com/en/latest/cache.html) by groups and flush by groups or individual keys.
32* [Prepared statements](http://docs.dalmp.com/en/latest/prepared_statements.html) ready, support dynamic building queries, auto detect types (i,d,s,b).
33* Secure connections with [SSL](http://docs.dalmp.com/en/latest/Quickstart.html#ssl).
34* [SQLite3 Encryption](http://docs.dalmp.com/en/latest/queue/SQLite.html).
35* Save [sessions in database](http://docs.dalmp.com/en/latest/sessions.html) (mysql/sqlite) or a cache like redis/memcache/apc.
36* Easy to use/install/adapt.
37* Nested [Transactions](http://docs.dalmp.com/en/latest/database/StartTrans.html) (SAVEPOINT / ROLLBACK TO SAVEPOINT).
38* Support connections via [unix_sockets](http://docs.dalmp.com/en/latest/Quickstart.html#example-using-a-socket).
39* SQL [queues](http://docs.dalmp.com/en/latest/queue.html).
40* Export to [CSV](http://docs.dalmp.com/en/latest/database/csv.html).
41* Trace/measure everything enabling the [debugger](http://docs.dalmp.com/en/latest/database/debug.htm).
42* Works out of the box with Cloud databases like [Amazon RDS](http://aws.amazon.com/rds/) or [Google cloud](https://developers.google.com/cloud-sql/).
43* Lazy database connection. Connect only when needed.
44* [PSR-0](http://www.php-fig.org/psr/psr-0/) compliance.
45
46
47Requirements
48------------
49
50* [PHP](http://www.php.net>) >= 5.4
51* A [MySQL](http://www.mysql.org) server to connect via host or [unix sockets](http://en.wikipedia.org/wiki/Unix_domain_socket).
52
53To use the cache features you need either the redis, memcache or APC extensions
54compiled, otherwise disk cache will be used.
55
56* Redis extension - http://github.com/nicolasff/phpredis
57* Memcache PECL extencsion - http://pecl.php.net/package/memcache
58* APC PECL extension - http://pecl.php.net/package/APC
59
60If you want to store session encrypted then you need SQLite3 Encryption http://sqlcipher.net.
61
62**DALMP** does not use [PDO](http://www.php.net/pdo), so do not worry if your PHP does not have the pdo
63extension.
64
65On [FreeBSD](http://www.freebsd.org) you can install **DALMP** from ports: /usr/ports/databases/dalmp
66