Some long time ago there were RFC about adding __toArray method into PHP. Sadly, this was rejected. PHP-FIG doesn't have yet any project about that. And that's why today we have many classes in different frameworks that has toArray method. There are some composer packages that has toArray interface like illuminate/contracts. However these packages are not very good choice if you need only one file with interface from there. In that case they have many things that you do not need. So, that's why we have created small composer library that could be used for such cases.
So, basically this library is only for one thing - it gives interface that could be used when you need to know if object has possibility to be converted to array with toArray
method.
To install and use this package, we recommend to use Composer:
composer require imponeer/toarray-interface
Otherwise you need to include manualy files from src/
directory.
Note: if you need to use this library in PHP 5 project, you need use 1.0 version of this library.
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());
}
If you want to add some functionality or fix bugs, you can fork, change and create pull request. If you not sure how this works, try interactive GitHub tutorial.
If you found any bug or have some questions, use issues tab and write there your questions.