<?php $shelf = Craur::createFromYamlFile(dirname(__FILE__) . '/fixtures/books.yaml'); assert(count($shelf->get('books[]')) === 2); foreach ($shelf->get('books[]') as $book) { if ($book->get('name') === 'My Book') { assert(count($book->get('authors[]')) === 2); assert($book->get('authors.name') == 'Hans'); assert($book->get('authors.age') == '32'); foreach ($book->get('authors[]') as $author) { assert(in_array($author->get('age'), array('32', '20'))); assert(in_array($author->get('name'), array('Hans', 'Paul'))); } } elseif ($book->get('name') === 'My second Book') { assert(count($book->get('authors[]')) === 1); assert($book->get('authors.name') == 'Erwin'); assert($book->get('authors.age') == '10'); } }
// - // name: My Book // year: 2012 // authors: // - // name: Hans // age: 32 // - // name: Paul // age: 20 // - // name: My second Book // authors: // name: Erwin // age: 10 $shelf = Craur::createFromYamlFile('fixtures/books.yaml', array()); assert(count($shelf->get('books[]')) === 2); foreach ($shelf->get('books[]') as $book) { assert(in_array($book->get('name'), array('My Book', 'My second Book'))); foreach ($book->get('authors[]') as $author) { assert(in_array($author->get('name'), array('Hans', 'Paul', 'Erwin'))); } } /* Craur#getValues */ $node = Craur::createFromJson('{"book": {"name": "MyBook", "authors": ["Hans", "Paul"]}}'); $values = $node->getValues(array('name' => 'book.name', 'book_price' => 'price', 'first_author' => 'book.authors'), array('book_price' => 20)); assert($values['name'] == 'MyBook'); assert($values['book_price'] == '20'); assert($values['first_author'] == 'Hans'); /* Craur#getValuesWithFilters */ $node = Craur::createFromJson('{"book": {"name": "MyBook", "authors": ["Hans", "Paul"]}}');