Skip to content

Commit d42729c

Browse files
committed
feat: add new obj class for quick init an object
Signed-off-by: inhere <in.798@qq.com>
1 parent fe36b05 commit d42729c

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

src/OS.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,5 +304,4 @@ public static function mkdir(string $path, int $mode = 0775, bool $recursive = t
304304
{
305305
return (is_dir($path) || !(!@mkdir($path, $mode, $recursive) && !is_dir($path))) && is_writable($path);
306306
}
307-
308307
}

src/Obj/AbstractObj.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace Toolkit\Stdlib\Obj;
4+
5+
use Toolkit\Stdlib\Obj;
6+
use Toolkit\Stdlib\Obj\Traits\QuickInitTrait;
7+
8+
/**
9+
* Class AbstractObj
10+
*
11+
* @package Toolkit\Stdlib\Obj
12+
*/
13+
abstract class AbstractObj
14+
{
15+
use QuickInitTrait;
16+
17+
/**
18+
* Class constructor.
19+
*
20+
* @param array $config
21+
*/
22+
public function __construct(array $config)
23+
{
24+
Obj::init($this, $config);
25+
}
26+
}

src/Obj/Traits/QuickInitTrait.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace Toolkit\Stdlib\Obj\Traits;
4+
5+
/**
6+
* Trait QuickInitTrait
7+
*
8+
* @package Toolkit\Stdlib\Obj\Traits
9+
*/
10+
trait QuickInitTrait
11+
{
12+
/**
13+
* @param array $config
14+
*
15+
* @return static
16+
*/
17+
public static function new(array $config = [])
18+
{
19+
return new static($config);
20+
}
21+
}

0 commit comments

Comments
 (0)