PluginProbe
QuadMenu – Mega Menu / 3.3.8
QuadMenu – Mega Menu v3.3.8
3.3.8 3.3.7 3.3.6 trunk 1.8.4 1.8.5 1.8.7 1.8.8 1.8.9 1.9.0 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 All 88 releases
quadmenu / vendor / franmastromarino / wp-orm / src / Builder / SingleVirtualRepositoryBuilder.php

SingleVirtualRepositoryBuilder.php in QuadMenu – Mega Menu 3.3.8, at vendor/franmastromarino/wp-orm/src/Builder/SingleVirtualRepositoryBuilder.php

33 lines 805 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace QuadLayers\WP_Orm\Builder;
4
5 use QuadLayers\WP_Orm\Factory\SingleFactory;
6 use QuadLayers\WP_Orm\Mapper\SingleMapper;
7 use QuadLayers\WP_Orm\Repository\SingleVirtualRepository;
8
9 class SingleVirtualRepositoryBuilder
10 {
11 /**
12 * @var string
13 */
14 private $entityClass;
15
16 public function setEntity(string $entityClass): self
17 {
18 if (!class_exists($entityClass)) {
19 throw new \InvalidArgumentException("Class '{$entityClass}' does not exist.");
20 }
21
22 $this->entityClass = $entityClass;
23 return $this;
24 }
25
26 public function getRepository(): SingleVirtualRepository
27 {
28 $factory = new SingleFactory($this->entityClass);
29 $mapper = new SingleMapper($factory);
30 return new SingleVirtualRepository($mapper);
31 }
32 }
33