imponeer / toarray-interface
这是一个PHP库,它提供了一个toArray接口,可以在需要将对象转换为数组并确保toArray函数的实现是因为相同的接口的地方使用。
v2.0.7
2023-10-01 23:11 UTC
Requires
- php: >=7.0
README
ToArray接口
很久以前,有关于在PHP中添加__toArray方法的RFC。遗憾的是,这个提议被拒绝了。PHP-FIG还没有关于这个的任何项目。这就是为什么今天我们有很多不同的框架中的类都实现了toArray方法。有一些composer包提供了toArray接口,例如illuminate/contracts。然而,如果你只需要其中一个文件中的接口,这些包并不是很好的选择。在这种情况下,它们包含了很多你不需要的东西。因此,我们创建了一个小的composer库,可以用于此类情况。
因此,这个库基本上只做一件事——它提供了一个接口,可以在你需要知道对象是否可以通过toArray方法转换为数组时使用。
安装
要安装和使用此包,我们建议使用Composer
composer require imponeer/toarray-interface
否则,您需要手动包含来自src/
目录的文件。
注意:如果您需要在PHP 5项目中使用此库,则需要使用此库的1.0版本。
示例
use Imponeer/ToArrayInterface; class DummyObject implements ToArrayInterface { /** * Converts object to array * * @return array */ public function toArray(): array { return array( 'hash' => sha1(time()) ); } } $instance = new DummyObject(); if ($instance instanceof ToArrayInterface) { var_dump($instance->toArray()); }
如何贡献?
如果您想添加一些功能或修复错误,可以fork,更改并创建pull request。如果您不确定这是如何工作的,请尝试交互式GitHub教程。
如果您发现了任何错误或有一些问题,请使用问题选项卡并写下您的问题。