Exemplo n.º 1
0
<?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")
Exemplo n.º 2
0
<?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);
}