Skip to content

Commit d8ce13d

Browse files
committed
fix
1 parent 637b502 commit d8ce13d

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/Traits/ArrayStorage.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public function __set(string $name, $value): void
5555
{
5656
if ($this->propertyExists($name)) {
5757
$this->$name = $value;
58+
return;
5859
}
5960

6061
Arr::set($this->data, $name, $value);
@@ -77,9 +78,10 @@ public function __unset(string $name)
7778
{
7879
if ($this->propertyExists($name)) {
7980
$this->$name = null;
80-
} else {
81-
Arr::remove($this->data, $name);
81+
return;
8282
}
83+
84+
Arr::remove($this->data, $name);
8385
}
8486

8587
/**

tests/traits/ArrayStorageTest.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,16 @@ public function testGetData(): void
6262
static::assertEquals($expected, $config->getData());
6363
}
6464

65-
public function testUnset2(): void
65+
public function testUnset(): void
6666
{
6767
$config = new ArrayStorageClassTest;
68-
$key = 'test.sub.key';
6968

69+
$config->name = 'name';
70+
unset($config->name);
71+
static::assertTrue(isset($config->name));
72+
static::assertNull($config->name);
73+
74+
$key = 'test.sub.key';
7075
$config->$key = 1;
7176

7277
static::assertEquals(1, $config->$key);
@@ -106,6 +111,9 @@ public function testIsset(): void
106111
$config->null = null;
107112
static::assertTrue(isset($config->null));
108113

114+
$config->name = 'name';
115+
static::assertTrue(isset($config->name));
116+
109117
static::assertFalse(isset($config->{'nullable.one.1'}));
110118
}
111119

@@ -117,4 +125,6 @@ public function testIsset(): void
117125
class ArrayStorageClassTest
118126
{
119127
use \Php\Support\Traits\ArrayStorage;
128+
129+
protected $name;
120130
}

0 commit comments

Comments
 (0)