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