This page is a sub-page of a larger list of things, Programming Projects.
Phabstractic was born out of the FalcraftCMF and Primus projects. The code started out as a backdrop of abstract data types and algorithms that would be used in another application, such as a content management framework, or an artificial intelligence system.
Upon review, it makes sense to separate this out as its own project. This way focus can be spent specifically on extending and collecting abstract data structures, algorithms, and components. Then it can be used atomically in such projects as the Primus Artificial Intelligence System.
Phabstractic is a pure PHP implementation of various abstract programming ideas. This includes a large abstract data types library, as well as some design patterns implementation.
The code for phabstractic can be accessed via GitHub (asherwunk/phabstractic).
You can also follow this project on devpost.
This package is now available in version 1.0 on packagist!
Generated documentation for this project can be found at https://asherwunk.github.io/phabstractic/
To use this project in your composer enabled PHP project include the following in your composer.json:
As each piece of functionality is added to the library I make posts about it on this blog explaining how it all works and how to use it. Below is a list mirroring the file directory of the project (mostly), each link goes to a post about that particular piece of the library.
This libary is licensed under the MIT license. Use at your own risk.
- None.php (github)
- Range.php (github)
- Enumeration.php (github)
- Type.php (github)
- Restrictions.php (github)
- TaggedUnion.php (github)
- Structure.php (github)
- Set.php (github)
- RestrictedSet.php (github)
- Stack.php (github)
- RestrictedStack.php (github)
- Queue.php (github)
- RestrictedQueue.php (github)
- LexicographicList.php (github)
- PriorityQueue.php (github)
- Map.php (github)
- LinkedList.php (github)
If you appreciate my programming please help support me through my Patreon.
However, if a monthly commitment is a bit much for you, you could consider buying me a cup of coffee.