Passed
Push — master ( 615897...95e8b1 )
by y
02:20
created
src/DB/Junction.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
      * @param string $interface
35 35
      * @return Junction
36 36
      */
37
-    public static function fromInterface (DB $db, string $interface) {
37
+    public static function fromInterface(DB $db, string $interface) {
38 38
         $ref = new ReflectionClass($interface);
39 39
         assert($ref->isInterface());
40 40
         $doc = $ref->getDocComment();
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
      * @param string $table
50 50
      * @param string[] $classes
51 51
      */
52
-    public function __construct (DB $db, string $table, array $classes) {
52
+    public function __construct(DB $db, string $table, array $classes) {
53 53
         parent::__construct($db, $table, array_keys($classes));
54 54
         $this->classes = $classes;
55 55
     }
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
      * @param array $match Keyed by junction column.
64 64
      * @return Select|EntityInterface[]
65 65
      */
66
-    public function findAll (string $key, array $match = []) {
66
+    public function findAll(string $key, array $match = []) {
67 67
         $record = $this->getRecord($key);
68 68
         $select = $record->loadAll();
69 69
         $select->join($this, $this[$key]->isEqual($record['id']));
@@ -77,14 +77,14 @@  discard block
 block discarded – undo
77 77
      * @param string $column
78 78
      * @return string
79 79
      */
80
-    final public function getClass (string $column): string {
80
+    final public function getClass(string $column): string {
81 81
         return $this->classes[$column];
82 82
     }
83 83
 
84 84
     /**
85 85
      * @return string[]
86 86
      */
87
-    final public function getClasses () {
87
+    final public function getClasses() {
88 88
         return $this->classes;
89 89
     }
90 90
 
@@ -92,14 +92,14 @@  discard block
 block discarded – undo
92 92
      * @param string $column
93 93
      * @return Record
94 94
      */
95
-    public function getRecord (string $column) {
95
+    public function getRecord(string $column) {
96 96
         return $this->db->getRecord($this->classes[$column]);
97 97
     }
98 98
 
99 99
     /**
100 100
      * @return Record[]
101 101
      */
102
-    public function getRecords () {
102
+    public function getRecords() {
103 103
         return array_map(fn($class) => $this->db->getRecord($class), $this->classes);
104 104
     }
105 105
 
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
      * @param int[] $ids Keyed by column.
110 110
      * @return int Rows affected.
111 111
      */
112
-    public function link (array $ids): int {
112
+    public function link(array $ids): int {
113 113
         $statement = $this->cache(__FUNCTION__, function() {
114 114
             $columns = implode(',', array_keys($this->columns));
115 115
             $slots = implode(',', $this->db->slots(array_keys($this->columns)));
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
      * @param array $ids Keyed by Column
133 133
      * @return int Rows affected
134 134
      */
135
-    public function unlink (array $ids): int {
135
+    public function unlink(array $ids): int {
136 136
         return $this->delete($ids);
137 137
     }
138 138
 }
139 139
\ No newline at end of file
Please login to merge, or discard this patch.
src/DB/Record.php 2 patches
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
      * @param string|EntityInterface $class
88 88
      * @return Record
89 89
      */
90
-    public static function fromClass (DB $db, $class) {
90
+    public static function fromClass(DB $db, $class) {
91 91
         $rClass = new ReflectionClass($class);
92 92
         assert($rClass->isInstantiable());
93 93
         $columns = [];
@@ -116,7 +116,7 @@  discard block
 block discarded – undo
116 116
      * @param string[] $columns Property names.
117 117
      * @param EAV[] $eav Keyed by property name.
118 118
      */
119
-    public function __construct (DB $db, EntityInterface $proto, string $table, array $columns, array $eav = []) {
119
+    public function __construct(DB $db, EntityInterface $proto, string $table, array $columns, array $eav = []) {
120 120
         parent::__construct($db, $table, $columns);
121 121
         $this->proto = $proto;
122 122
         $rClass = new ReflectionClass($proto);
@@ -165,7 +165,7 @@  discard block
 block discarded – undo
165 165
      * @param Statement $statement
166 166
      * @return EntityInterface[] Keyed by ID
167 167
      */
168
-    public function fetchAll (Statement $statement): array {
168
+    public function fetchAll(Statement $statement): array {
169 169
         return iterator_to_array($this->fetchEach($statement));
170 170
     }
171 171
 
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
      * @param Statement $statement
177 177
      * @return Generator|EntityInterface[] Keyed by ID
178 178
      */
179
-    public function fetchEach (Statement $statement) {
179
+    public function fetchEach(Statement $statement) {
180 180
         do {
181 181
             $entities = [];
182 182
             for ($i = 0; $i < 256 and false !== $row = $statement->fetch(); $i++) {
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
      * @param array[] $eavMatch `[eav property => attribute => value]`
199 199
      * @return Select|EntityInterface[]
200 200
      */
201
-    public function findAll (array $match, array $eavMatch = []) {
201
+    public function findAll(array $match, array $eavMatch = []) {
202 202
         $select = $this->loadAll();
203 203
         foreach ($match as $a => $b) {
204 204
             $select->where($this->db->match($this[$a] ?? $a, $b));
@@ -217,21 +217,21 @@  discard block
 block discarded – undo
217 217
      * @param array $eavMatch `[eav property => attribute => value]`
218 218
      * @return null|EntityInterface
219 219
      */
220
-    public function findFirst (array $match, array $eavMatch = []) {
220
+    public function findFirst(array $match, array $eavMatch = []) {
221 221
         return $this->findAll($match, $eavMatch)->limit(1)->getFirst();
222 222
     }
223 223
 
224 224
     /**
225 225
      * @return string
226 226
      */
227
-    final public function getClass (): string {
227
+    final public function getClass(): string {
228 228
         return get_class($this->proto);
229 229
     }
230 230
 
231 231
     /**
232 232
      * @return EAV[]
233 233
      */
234
-    public function getEav () {
234
+    public function getEav() {
235 235
         return $this->eav;
236 236
     }
237 237
 
@@ -240,14 +240,14 @@  discard block
 block discarded – undo
240 240
      *
241 241
      * @return string[]
242 242
      */
243
-    final public function getProperties (): array {
243
+    final public function getProperties(): array {
244 244
         return array_keys($this->properties);
245 245
     }
246 246
 
247 247
     /**
248 248
      * @return EntityInterface
249 249
      */
250
-    public function getProto () {
250
+    public function getProto() {
251 251
         return $this->proto;
252 252
     }
253 253
 
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
      *
259 259
      * @return string[]
260 260
      */
261
-    final public function getTypes (): array {
261
+    final public function getTypes(): array {
262 262
         return $this->types;
263 263
     }
264 264
 
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
      * @param EntityInterface $entity
267 267
      * @return array
268 268
      */
269
-    protected function getValues (EntityInterface $entity): array {
269
+    protected function getValues(EntityInterface $entity): array {
270 270
         $values = [];
271 271
         foreach (array_keys($this->columns) as $name) {
272 272
             $values[$name] = $this->properties[$name]->getValue($entity);
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
      * @param string $property
279 279
      * @return bool
280 280
      */
281
-    final public function isNullable (string $property): bool {
281
+    final public function isNullable(string $property): bool {
282 282
         return $this->nullable[$property];
283 283
     }
284 284
 
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
      * @param int $id
289 289
      * @return null|EntityInterface
290 290
      */
291
-    public function load (int $id) {
291
+    public function load(int $id) {
292 292
         $statement = $this->cache(__FUNCTION__, function() {
293 293
             return $this->select()->where('id = ?')->prepare();
294 294
         });
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
      *
309 309
      * @return Select|EntityInterface[]
310 310
      */
311
-    public function loadAll () {
311
+    public function loadAll() {
312 312
         return $this->select()->setFetcher(function(Statement $statement) {
313 313
             yield from $this->fetchEach($statement);
314 314
         });
@@ -319,7 +319,7 @@  discard block
 block discarded – undo
319 319
      *
320 320
      * @param EntityInterface[] $entities
321 321
      */
322
-    protected function loadEav (array $entities): void {
322
+    protected function loadEav(array $entities): void {
323 323
         $ids = array_keys($entities);
324 324
         foreach ($this->eav as $name => $eav) {
325 325
             foreach ($eav->loadAll($ids) as $id => $values) {
@@ -334,7 +334,7 @@  discard block
 block discarded – undo
334 334
      * @param EntityInterface $entity
335 335
      * @return int ID
336 336
      */
337
-    public function save (EntityInterface $entity): int {
337
+    public function save(EntityInterface $entity): int {
338 338
         if (!$entity->getId()) {
339 339
             $this->saveInsert($entity);
340 340
         }
@@ -348,7 +348,7 @@  discard block
 block discarded – undo
348 348
     /**
349 349
      * @param EntityInterface $entity
350 350
      */
351
-    protected function saveEav (EntityInterface $entity): void {
351
+    protected function saveEav(EntityInterface $entity): void {
352 352
         $id = $entity->getId();
353 353
         foreach ($this->eav as $name => $eav) {
354 354
             // may be null to skip
@@ -364,7 +364,7 @@  discard block
 block discarded – undo
364 364
      *
365 365
      * @param EntityInterface $entity
366 366
      */
367
-    protected function saveInsert (EntityInterface $entity): void {
367
+    protected function saveInsert(EntityInterface $entity): void {
368 368
         $statement = $this->cache(__FUNCTION__, function() {
369 369
             $slots = $this->db->slots(array_keys($this->columns));
370 370
             unset($slots['id']);
@@ -383,7 +383,7 @@  discard block
 block discarded – undo
383 383
      *
384 384
      * @param EntityInterface $entity
385 385
      */
386
-    protected function saveUpdate (EntityInterface $entity): void {
386
+    protected function saveUpdate(EntityInterface $entity): void {
387 387
         $statement = $this->cache(__FUNCTION__, function() {
388 388
             $slots = $this->db->slotsEqual(array_keys($this->columns));
389 389
             unset($slots['id']);
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
      * @param EntityInterface $proto
399 399
      * @return $this
400 400
      */
401
-    public function setProto (EntityInterface $proto) {
401
+    public function setProto(EntityInterface $proto) {
402 402
         $this->proto = $proto;
403 403
         return $this;
404 404
     }
@@ -410,7 +410,7 @@  discard block
 block discarded – undo
410 410
      * @param mixed $value
411 411
      * @return mixed
412 412
      */
413
-    protected function setType (string $property, $value) {
413
+    protected function setType(string $property, $value) {
414 414
         if (isset($value)) {
415 415
             // doesn't care about the type's letter case
416 416
             settype($value, $this->types[$property]);
@@ -422,7 +422,7 @@  discard block
 block discarded – undo
422 422
      * @param EntityInterface $entity
423 423
      * @param array $values
424 424
      */
425
-    protected function setValues (EntityInterface $entity, array $values): void {
425
+    protected function setValues(EntityInterface $entity, array $values): void {
426 426
         foreach ($values as $name => $value) {
427 427
             if (isset($this->properties[$name])) {
428 428
                 $this->properties[$name]->setValue($entity, $this->setType($name, $value));
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -96,8 +96,7 @@  discard block
 block discarded – undo
96 96
             $doc = $rProp->getDocComment();
97 97
             if (preg_match(static::RX_IS_COLUMN, $doc)) {
98 98
                 $columns[] = $rProp->getName();
99
-            }
100
-            elseif (preg_match(static::RX_EAV, $doc, $eav)) {
99
+            } elseif (preg_match(static::RX_EAV, $doc, $eav)) {
101 100
                 preg_match(static::RX_EAV_VAR, $doc, $var);
102 101
                 $EAV[$rProp->getName()] = EAV::factory($db, $eav['table'], $var['type'] ?? 'string');
103 102
             }
@@ -337,8 +336,7 @@  discard block
 block discarded – undo
337 336
     public function save (EntityInterface $entity): int {
338 337
         if (!$entity->getId()) {
339 338
             $this->saveInsert($entity);
340
-        }
341
-        else {
339
+        } else {
342 340
             $this->saveUpdate($entity);
343 341
         }
344 342
         $this->saveEav($entity);
@@ -426,8 +424,7 @@  discard block
 block discarded – undo
426 424
         foreach ($values as $name => $value) {
427 425
             if (isset($this->properties[$name])) {
428 426
                 $this->properties[$name]->setValue($entity, $this->setType($name, $value));
429
-            }
430
-            else {
427
+            } else {
431 428
                 // attempt to set unknown fields directly on the instance.
432 429
                 $entity->{$name} = $value;
433 430
             }
Please login to merge, or discard this patch.
src/DB/EAV.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
      * @param string $name
24 24
      * @param string $type
25 25
      */
26
-    public function __construct (DB $db, string $name, string $type = 'string') {
26
+    public function __construct(DB $db, string $name, string $type = 'string') {
27 27
         parent::__construct($db, $name, ['entity', 'attribute', 'value']);
28 28
         $this->type = $type;
29 29
     }
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
      * @param string $attribute
36 36
      * @return bool
37 37
      */
38
-    public function exists (int $id, string $attribute): bool {
38
+    public function exists(int $id, string $attribute): bool {
39 39
         $statement = $this->cache(__FUNCTION__, function() {
40 40
             return $this->select(['COUNT(*) > 0'])->where('entity = ? AND attribute = ?')->prepare();
41 41
         });
@@ -53,7 +53,7 @@  discard block
 block discarded – undo
53 53
      * @param array $match `[attribute => value]`. If empty, selects all IDs for entities having at least one attribute.
54 54
      * @return Select
55 55
      */
56
-    public function findAll (array $match) {
56
+    public function findAll(array $match) {
57 57
         $select = $this->select([$this['entity']]);
58 58
         $prior = $this;
59 59
         foreach ($match as $attribute => $value) {
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
     /**
73 73
      * @return string
74 74
      */
75
-    final public function getType (): string {
75
+    final public function getType(): string {
76 76
         return $this->type;
77 77
     }
78 78
 
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
      * @param int $id
83 83
      * @return array `[attribute => value]`
84 84
      */
85
-    public function load (int $id): array {
85
+    public function load(int $id): array {
86 86
         $statement = $this->cache(__FUNCTION__, function() {
87 87
             $select = $this->select(['attribute', 'value']);
88 88
             $select->where('entity = ?');
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
      * @param int[] $ids
99 99
      * @return array[] `[id => attribute => value]
100 100
      */
101
-    public function loadAll (array $ids): array {
101
+    public function loadAll(array $ids): array {
102 102
         if (empty($ids)) {
103 103
             return [];
104 104
         }
@@ -123,7 +123,7 @@  discard block
 block discarded – undo
123 123
      * @param array $values `[attribute => value]`
124 124
      * @return $this
125 125
      */
126
-    public function save (int $id, array $values) {
126
+    public function save(int $id, array $values) {
127 127
         $this->delete([
128 128
             $this['entity']->isEqual($id),
129 129
             $this['attribute']->isNotEqual(array_keys($values))
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
      * @param mixed $value
152 152
      * @return null|scalar
153 153
      */
154
-    protected function setType ($value) {
154
+    protected function setType($value) {
155 155
         if (isset($value)) {
156 156
             settype($value, $this->type);
157 157
         }
Please login to merge, or discard this patch.
bin/helix.db.migrate.php 1 patch
Spacing   +4 added lines, -6 removed lines patch added patch discarded remove patch
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
         };
146 146
         if ($access instanceof Record) {
147 147
             // create table
148
-            if (!$db[$access->getName()]) {
148
+            if (!$db[$access - >getName()]) {
149 149
                 $columns = [];
150 150
                 foreach ($access->getTypes() as $property => $type) {
151 151
                     $T_CONST = Schema::PHP_TYPE_NAMES[$type];
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
             // check each eav
164 164
             foreach ($access->getEav() as $eav) {
165 165
                 // create table
166
-                if (!$db[$eav->getName()]) {
166
+                if (!$db[$eav - >getName()]) {
167 167
                     $T_CONST = Schema::PHP_TYPE_NAMES[$eav->getType()];
168 168
                     $columns = [
169 169
                         "'entity' => Schema::T_INT_STRICT",
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
         }
184 184
         elseif ($access instanceof Junction) {
185 185
             // create table
186
-            if (!$db[$access->getName()]) {
186
+            if (!$db[$access - >getName()]) {
187 187
                 $records = $access->getRecords();
188 188
                 $columns = array_map(
189 189
                     fn(string $column) => "'{$column}' => Schema::T_INT_STRICT",
@@ -271,6 +271,4 @@  discard block
 block discarded – undo
271 271
         return;
272 272
 
273 273
     default:
274
-        $usage();
275
-        exit(1);
276
-}
277 274
\ No newline at end of file
275
+        $usage
278 276
\ No newline at end of file
Please login to merge, or discard this patch.