<?php require_once __DIR__ . '/../vendor/autoload.php'; use DavidBadura\OrangeDb\Adapter\YamlAdapter; use DavidBadura\OrangeDb\Annotation as DB; use DavidBadura\OrangeDb\DocumentManager; class UserRepository extends \DavidBadura\OrangeDb\Repository\DocumentRepository { } $manager = new DocumentManager(new YamlAdapter(__DIR__ . '/data')); $repo = $manager->getRepository(User::class); $user = $repo->find('john'); foreach ($repo->findAll() as $user) { dump($user); } $users = $repo->createTraversable()->where(function (User $user) { return $user->getAge() == 0; })->getIterator(); foreach ($users as $user) { dump($user); } /** * @DB\Document(repository="UserRepository") */ class User { /** * @var string * * @DB\Id * @DB\Type(name="string")
<?php require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/Material.php'; require_once __DIR__ . '/Building.php'; use DavidBadura\OrangeDb\Adapter\YamlAdapter; use DavidBadura\OrangeDb\DocumentManager; use Model\Building; $manager = new DocumentManager(new YamlAdapter(__DIR__ . '/data')); /** @var Building $house */ $house = $manager->getRepository(Building::class)->find('house'); dump($house); foreach ($house->getConstructionCosts() as $material => $value) { dump($material); dump($value); }