phpcollections
v1.3.0
phpcollectionsは、PHP や大規模なデータセットを扱う際の作業を容易にするデータ構造のセットです。 Java や C# などの言語からインスピレーションを得たphpcollections 、List、Map、Stack などのデータ構造を提供します。ぜひチェックしてください。
PHP >= 7.2
composer require "maxalmonte14/ phpcollections "
このように取得するために Post オブジェクトを保存していると想像してください。
$ posts [] = new Post ( 1 , ' PHP 7.2 release notes ' );
$ posts [] = new Post ( 2 , ' New Laravel 5.5 LTS make:factory command ' );
すべて大丈夫です!しかし、何らかの不可解な理由で間違いを犯し、非 Post オブジェクトを追加した可能性があります。
$ posts [] = 5 // This is not even an object!
投稿配列を取得しようとすると、問題が発生します。
< ?php foreach($posts as $post): ? >
< tr >
<!-- this gonna fail when $post == 5! -->
< td > < ?= $post- > id; ? > </ td >
< td > < ?= $post- > title; ? > </ td >
</ tr >
< ?php endforeach ? >
幸いなことに、 phpcollectionsが存在します。
$ 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!
もちろん、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