devsdmf / datamonkey
A simple database ORM for PHP projects build on top of Doctrine.
1.2.3
2017-01-19 21:52 UTC
Requires
- php: >=5.5
- devsdmf/annotations: ~1.0
- doctrine/dbal: ~2.4
Requires (Dev)
- apigen/apigen: ~4.0
- fabpot/php-cs-fixer: 0.5.*
- phpunit/phpunit: 4.2.*
- satooshi/php-coveralls: ~1.0
README
A simple database ORM for PHP projects build on top of Doctrine.
Installation
$ composer require devsdmf/datamonkey
Usage
Creating an entity:
namespace Vendor\Package; use DataMonkey\Entity\ExportableEntity; use DataMonkey\Entity\ExportAbstract; class MyEntity extends ExportAbstract implements ExportableEntity { /** * @pk * @db_ref id_entity * @strategy auto */ public $id = null; /** * @db_ref foo_column */ public $foo = null; }
Creating a factory:
namespace Vendor\Package; use DataMonkey\Entity\Factory\AbstractFactory; use Vendor\Package\MyEntity; class MyFactory extends AbstractFactory { public function create($options = null) { return MyEntity::factory($options); } }
Creating an repository
namespace Vendor\Package; use DataMonkey\Repository\Repository; class MyRepository extends Repository { protected $_name = 'mytable'; }
Persisting an entity:
use Vendor\Package\MyEntity; use Vendor\Package\MyFactory; use Vendor\Package\MyRepository; // Configure your doctrine DBAL connection $connection = new \Doctrine\DBAL\Connection(...); $entity = new MyEntity(); $entity->foo = 'bar'; $repo = new MyRepository($connection, new MyFactory()); $repo->save($entity);
Done!
Documentation
Tests
$ composer install --dev
$ ./vendor/bin/phpunit
License
This library is licensed under the MIT license.