PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.13.3
GiveWP – Donation Plugin and Fundraising Platform v2.13.3
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / fakerphp / faker / src / Faker / ORM / CakePHP / Populator.php
give / vendor / fakerphp / faker / src / Faker / ORM / CakePHP Last commit date
ColumnTypeGuesser.php 5 years ago EntityPopulator.php 5 years ago Populator.php 5 years ago
Populator.php
110 lines
1 <?php
2
3 namespace Faker\ORM\CakePHP;
4
5 class Populator
6 {
7
8 protected $generator;
9 protected $entities = [];
10 protected $quantities = [];
11 protected $guessers = [];
12
13 /**
14 * @param \Faker\Generator $generator
15 */
16 public function __construct(\Faker\Generator $generator)
17 {
18 $this->generator = $generator;
19 }
20
21 /**
22 * @return \Faker\Generator
23 */
24 public function getGenerator()
25 {
26 return $this->generator;
27 }
28
29 /**
30 * @return array
31 */
32 public function getGuessers()
33 {
34 return $this->guessers;
35 }
36
37 /**
38 * @return $this
39 */
40 public function removeGuesser($name)
41 {
42 if ($this->guessers[$name]) {
43 unset($this->guessers[$name]);
44 }
45 return $this;
46 }
47
48 /**
49 * @return $this
50 * @throws \Exception
51 */
52 public function addGuesser($class)
53 {
54 if (!is_object($class)) {
55 $class = new $class($this->generator);
56 }
57
58 if (!method_exists($class, 'guessFormat')) {
59 throw new \Exception('Missing required custom guesser method: ' . get_class($class) . '::guessFormat()');
60 }
61
62 $this->guessers[get_class($class)] = $class;
63 return $this;
64 }
65
66 /**
67 * @param array $customColumnFormatters
68 * @param array $customModifiers
69 * @return $this
70 */
71 public function addEntity($entity, $number, $customColumnFormatters = [], $customModifiers = [])
72 {
73 if (!$entity instanceof EntityPopulator) {
74 $entity = new EntityPopulator($entity);
75 }
76
77 $entity->columnFormatters = $entity->guessColumnFormatters($this);
78 if ($customColumnFormatters) {
79 $entity->mergeColumnFormattersWith($customColumnFormatters);
80 }
81
82 $entity->modifiers = $entity->guessModifiers($this);
83 if ($customModifiers) {
84 $entity->mergeModifiersWith($customModifiers);
85 }
86
87 $class = $entity->class;
88 $this->entities[$class] = $entity;
89 $this->quantities[$class] = $number;
90 return $this;
91 }
92
93 /**
94 * @param array $options
95 * @return array
96 */
97 public function execute($options = [])
98 {
99 $insertedEntities = [];
100
101 foreach ($this->quantities as $class => $number) {
102 for ($i = 0; $i < $number; $i++) {
103 $insertedEntities[$class][] = $this->entities[$class]->execute($class, $insertedEntities, $options);
104 }
105 }
106
107 return $insertedEntities;
108 }
109 }
110