Coder Social home page Coder Social logo

magic_collection's Introduction

duroth/magic_collection

"The best idea I've ever had."

This library enables runtime creation of type-safe object collections through the amazing technique known as eval().

Need to store a set of DateTimeImmutable instances, but you're too lazy to write your own DateTimeImmutableCollection? With Magic (Collection), you don't need to! Just create and register the Magic Autoloader, and you're done!

Don't believe me? Just watch!

<?php

// Step 1 of 1: Create and register the autoloader. Yes, you can invoke it as a functon.
$magicCollectionLoader = new \Duroth\Magic\Autoloader();
spl_autoload_register($magicCollectionLoader);

// Ta-da! Your new Collection is usable, just like that!
$dates = new \DateTimeImmutableCollection([ new DateTimeImmutable() ]);

// It's automatically typed, and raises exceptions on any invalid data!
$noGood = new \DateTimeImmutableCollection([ new DateTime() ]); // EXCEPTION!

// Works with just about every class, even your own!
$foos = new \Your\Silly\FooClassCollection([
    new \Your\Silly\FooClass(1),
    new \Your\Silly\FooClass(2),
]);

Disclaimer

The above is sarcasm. This project is a joke.

Although the concept does actually work, this library is intended as a stupid little joke, and should not be used in any serious projects. It's a wonderful display of horrible antipatterns, and a great example of how not to do things. Let that be all this is.

magic_collection's People

Contributors

duroth avatar

Watchers

 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.