atijust/mappa

A simple object mapper for PDO

Maintainers

Details

github.com/atijust/mappa

Source

Issues

Installs: 8

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/atijust/mappa

dev-master 2015-09-15 15:29 UTC

This package is not auto-updated.

Last update: 2025-10-11 23:11:48 UTC


README

Build Status Scrutinizer Code Quality Code Coverage License

Mappa is a simple object mapper for PDO.

$pdo->setAttribute(PDO::ATTR_STATEMENT_CLASS, [Mappa\Statement::class, [new Mappa\Hydrator()]]);

$stmt = $pdo->prepare("SELECT *, books.name || ' - ' || categories.name AS title FROM books JOIN categories ON categories.id = books.category_id WHERE books.id = ?");

echo get_class($stmt);
// Mappa\Statement

$stmt->execute([1]);

var_export($stmt->hydrate([Book::class, Category::class]));
// array (
//   'books' =>
//   Book::__set_state(array(
//      'id' => '1',
//      'name' => 'B01',
//      'category_id' => '1',
//   )),
//   'categories' =>
//   Category::__set_state(array(
//      'id' => '1',
//      'name' => 'C01',
//   )),
//   '' =>
//   stdClass::__set_state(array(
//      'title' => 'B01 - C01',
//   )),
// )

Mappa works with PHP 5.5 or later.

TODO

  • Improve error handling
  • Pass custom arguments to entity constructor