Giter Club home page Giter Club logo

toarray-interface's Introduction

License GitHub release Maintainability PHP Packagist

ToArray Interface

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.

Installation

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.

Example

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());
}

How to contribute?

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.

toarray-interface's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar fiammybe avatar mekdrop avatar mend-bolt-for-github[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.