imponeer/toarray-interface

这是一个PHP库,它提供了一个toArray接口,可以在需要将对象转换为数组并确保toArray函数的实现是因为相同的接口的地方使用。

v2.0.7 2023-10-01 23:11 UTC

This package is auto-updated.

Last update: 2024-09-01 23:52:26 UTC


README

License GitHub release Maintainability PHP Packagist

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教程

如果您发现了任何错误或有一些问题,请使用问题选项卡并写下您的问题。