jamielsharief / struct
一个结构类
0.1.1
2021-01-05 13:30 UTC
Requires
- php: >=7.4.0
Requires (Dev)
- phpstan/phpstan: ^0.12.64
- phpunit/phpunit: ^9.2
README
定义结构
创建一个定义属性的类。
use Struct\Struct; class Contact extends Struct { public string $name; public string $company; public string $email; public int $age; public bool $unsubscribed = false; }
创建结构对象
像通常一样创建和使用对象。
$contact = new Contact(); $contact->name = 'Jon'; $contact->email = 'jonny@example.com';
您还可以通过将数组传递给构造函数来批量设置属性。
$contact = new Contact([ 'name' => 'Jon', 'company' => 'Snow Enterprises', 'email' => 'jon@example.com', 'age' => 33 ]);
异常处理
如果您尝试设置或获取一个不存在的属性,将抛出 RuntimeException
。
克隆
当克隆 Structs
时,任何包含对象的属性或数组也会被克隆。
初始化钩子
当 Struct
被构建时,如果它可用,将调用 initialize
方法,这是一个钩子,以防您需要覆盖构造函数。