1. Go to this page and download the library: Download vardumper/dom-orm library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
// src/Entity/Tag.php
use DOM\ORM\Entity\AbstractEntity;
use DOM\ORM\Mapping as ORM;
#[ORM\Item(entityType: 'tag')]
class Tag extends AbstractEntity
{
public function __construct(
#[ORM\Fragment]
private readonly string $name,
) {
parent::__construct();
}
}
// src/Service/SomeService.php
class SomeService {
use DOM\ORM\Traits\EntityManagerTrait;
...
public function addTag(string $name) {
$tag = new Tag($name);
$this->persist($tag);
}
}
// src/Service/SomeService.php
class SomeService {
use DOM\ORM\Traits\EntityManagerTrait;
...
public function updateTag(string $id, string $name) {
$tag = (new EntityRepository(Tag::class))->find($id);
$tag->setName($name);
$this->persist($tag);
}
}
// src/Service/SomeService.php
class SomeService {
use DOM\ORM\Traits\EntityManagerTrait;
...
public function removeTag(string $id) {
(new EntityRepository(Tag::class))->remove($id);
}
}
$tagRepository = new EntityRepository(Tag::class);
$tag = $tagRepository->findOneBy(['name' => 'Tagname']); // returns a single Tag object
$tag = $tagRepository->find('fec69a494c3145f89af03ae3b3702e19'); // return a single Tag object
$tags = $tagRepository->findAll(); // returns a Collection of Tag objects
$tags = $tagRepository->findBy(['name' => 'Tagname']); // returns a Collection of Tag objects
$xml = (new DOM\ORM\Storage\StorageService())->read();
$dom = (new DOMDocument())->loadXML($xml);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//item[@type="tag"]'); // eg: retrieve all tags at any depth
$tag = $xpath->query('//item[@type="tag" and @id="fec69a494c3145f89af03ae3b3702e19"]'); // eg: retrieve a single tag with a specific ID
$xml = (new DOM\ORM\Storage\StorageService())->read();
$dom = (new DOMDocument())->loadXML($xml);
$entities = $dom->getElementsByTagName('item'); // returns a DOMNodeList of all entities
use EntityManagerTrait;
$serializer = $this->getSerializer();
$item = $serializer->decode($dom->getELementsByTagName('item')->item(0)); // example: decode the first item into an array
echo $twig->render('index.twig', [
'title' => 'Hello there!',
'item' => $item,
]);
$xml = (new DOM\ORM\Storage\StorageService())->read();
$dom = (new DOMDocument())->loadXML($xml);
$xslt = (new XSLTProcessor())->importStylesheet(DOMDocument::load('path/to/stylesheet.xsl'));
echo $xslt->transformToXML($dom);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.