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 ' );
ทุกอย่างเรียบร้อยดี! แต่บางทีคุณอาจทำผิดพลาดด้วยเหตุผลลึกลับบางอย่างและเพิ่มวัตถุที่ไม่ใช่โพสต์
$ 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