phpcollections
v1.3.0
phpcollections est un ensemble de structures de données qui tentent de vous faciliter la vie lorsque vous travaillez avec PHP et de grands ensembles de données. Inspiré par des langages comme Java ou C#, phpcollections propose des structures de données comme List, Map, Stack et plus encore, jetez-y un œil !
PHP >= 7.2
composer require "maxalmonte14/ phpcollections "
Imaginez que vous stockiez des objets Post pour les récupérer de cette manière.
$ posts [] = new Post ( 1 , ' PHP 7.2 release notes ' );
$ posts [] = new Post ( 2 , ' New Laravel 5.5 LTS make:factory command ' );
Tout va bien ! Mais peut-être avez-vous commis une erreur pour une raison mystérieuse et ajouté un objet non-Post.
$ posts [] = 5 // This is not even an object!
Lorsque vous essaierez de récupérer votre tableau de publications, vous aurez des problèmes.
< ?php foreach($posts as $post): ? >
< tr >
<!-- this gonna fail when $post == 5! -->
< td > < ?= $post- > id; ? > </ td >
< td > < ?= $post- > title; ? > </ td >
</ tr >
< ?php endforeach ? >
Heureusement, phpcollections existe.
$ posts = new GenericList (
Post::class,
new Post ( 1 , ' PHP 7.2 release notes ' ),
new Post ( 2 , ' New Laravel 5.5 LTS make:factory command ' )
);
$ posts -> add ( 5 ); // An InvalidArgumentException is thrown!
Bien sûr, il existe des structures de données plus flexibles comme ArrayList.
$ posts = new ArrayList ();
$ posts -> add ( new Post ( 1 , ' PHP 7.2 release notes ' ));
$ posts -> add ( new Post ( 2 , ' New Laravel 5.5 LTS make:factory command ' ));
$ posts -> add ( 5 ); // Everything is fine, I need this 5 anyway