Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
Address
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 4
42
0.00% covered (danger)
0.00%
0 / 1
 toArray
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 jsonSerialize
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 serialize
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 unserialize
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2/**
3 * Jingga
4 *
5 * PHP Version 8.1
6 *
7 * @package   Modules\Admin\Models
8 * @copyright Dennis Eichhorn
9 * @license   OMS License 2.0
10 * @version   1.0.0
11 * @link      https://jingga.app
12 */
13declare(strict_types=1);
14
15namespace Modules\Admin\Models;
16
17use phpOMS\Stdlib\Base\Location;
18
19/**
20 * Address model
21 *
22 * @package Modules\Admin\Models
23 * @license OMS License 2.0
24 * @link    https://jingga.app
25 * @since   1.0.0
26 */
27class Address extends Location
28{
29    /**
30     * Name.
31     *
32     * @var string
33     * @since 1.0.0
34     */
35    public string $name = '';
36
37    /**
38     * Addition.
39     *
40     * @var string
41     * @since 1.0.0
42     */
43    public string $addition = '';
44
45    /**
46     * {@inheritdoc}
47     */
48    public function toArray() : array
49    {
50        $data = parent::toArray();
51
52        $data['name']     = $this->name;
53        $data['addition'] = $this->addition;
54
55        return $data;
56    }
57
58    /**
59     * {@inheritdoc}
60     */
61    public function jsonSerialize() : mixed
62    {
63        return $this->toArray();
64    }
65
66    /**
67     * {@inheritdoc}
68     */
69    public function serialize() : string
70    {
71        return (string) \json_encode($this->jsonSerialize());
72    }
73
74    /**
75     * {@inheritdoc}
76     */
77    public function unserialize(mixed $serialized) : void
78    {
79        parent::unserialize($serialized);
80
81        if (!\is_string($serialized)) {
82            return;
83        }
84
85        /** @var array{name:string, addition:string} $data */
86        $data = \json_decode($serialized, true);
87        if (!\is_array($data)) {
88            return;
89        }
90
91        $this->name     = $data['name'];
92        $this->addition = $data['addition'];
93    }
94}