A simple database ORM for PHP projects build on top of Doctrine.
$ composer require devsdmf/datamonkey
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!
$ composer install --dev
$ ./vendor/bin/phpunit
This library is licensed under the MIT license.