一个结构类

0.1.1 2021-01-05 13:30 UTC

This package is auto-updated.

Last update: 2024-09-05 22:13:49 UTC


README

license build coverage status

定义结构

创建一个定义属性的类。

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 方法,这是一个钩子,以防您需要覆盖构造函数。