lpeltier / struct
v2.1.1
2018-10-11 12:03 UTC
Requires
- php: ^7.2
Requires (Dev)
- phpunit/phpunit: ^7.4
README
PHP 的类似 struct 的 trait。
用法
通过在类中使用 struct trait 并声明 public 属性来创建一个 struct。然后您可以使用箭头 (->) 操作符读取和写入这些属性。任何尝试访问未定义、受保护或私有属性的操作都将引发异常。
您还可以使用构造函数一次性设置所有属性。
示例
<?php use lpeltier\Struct; class Foo { use Struct; public $foo = 'default'; public $bar; } $foo = new Foo(['bar' => 0x2A]); var_dump($foo->foo); // 'default' var_dump($foo->bar); // 42 var_dump($foo->baz); // throws an exception
原因
PHP 在您设置未知属性时自动创建它们,甚至不会抛出警告。这可能导致那些难以发现的愚蠢错误,因为您将 'nuw' 写成了 'num'。