Skip to content

Commit 7cc8ae3

Browse files
committed
new: add new obj trait AutoConfigTrait
1 parent f229016 commit 7cc8ae3

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/Obj/Traits/AutoConfigTrait.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace Toolkit\Stdlib\Obj\Traits;
4+
5+
use Toolkit\Stdlib\Obj;
6+
7+
/**
8+
* trait AutoConfigTrait
9+
*
10+
* @author inhere
11+
*/
12+
trait AutoConfigTrait
13+
{
14+
/**
15+
* @param array $config
16+
*
17+
* @return static
18+
*/
19+
public static function new(array $config = []): static
20+
{
21+
return new static($config);
22+
}
23+
24+
/**
25+
* Class constructor.
26+
*
27+
* @param array $config
28+
*/
29+
public function __construct(array $config = [])
30+
{
31+
Obj::init($this, $config);
32+
}
33+
}

src/Obj/Traits/QuickInitTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ trait QuickInitTrait
1414
*
1515
* @return static
1616
*/
17-
public static function new(array $config = [])
17+
public static function new(array $config = []): static
1818
{
1919
return new static($config);
2020
}

0 commit comments

Comments
 (0)