Last year, I announced PHPAlgorithms. Since then, I worked a lot on this repository as part of my personal learning progress on Algorithms and Datastructures.
Now, I am proud to announce that we have reached our first milestone – version 1.0.0. With the support of the community, we fixed remaining issues and made this release happen.
PHPAlgorithms 1.0.0 has breaking changes compared to its previous 0.x- versions:
- namespace change: from plural to singular
- For example, the namespace doganoo\PHPAlgorithms\Datastructure\Lists\ArrayLists has been changed to doganoo\PHPAlgorithms\Datastructure\Lists\ArrayList
- strict_types=1 for each class
- each class (including all test classes) got a strict types declaration, which means, that there is no (auto) casting where applicable. For instance, if your a method expects an integer and you pass a number as a string, PHPAlgorithms will throw an exception
- removed deprecated classes (such as HashMap, Comparable, etc.)
- some classes and interfaces did not fit into naming conventions and thus, they were deprecated in earlier versions and removed in 1.0.0.
- using spl_object_hash for object keys in HashTable
- Previously, we used object serialization as object keys for HashTable’s. Now, there is another way to create an object hash.
Please check our migration guide for further details.
I want to thank all contributors who made version 1.0.0. happen. You are great, guys!
If you like our work, please consider a donation 😊
And in the meanwhile, we made it into the Jetbrains Blog 🎉🎊