Just released v1.2.2 of Opulence to fix a bug when there is a space in your PHP binary's path. We also switched over to GitHub Actions from TravisCI and updated code to work in PHP 8.1.
We've fixed a bug that caused ambiguous database migration ordering when rolling back. If you're using 1.1.0 to 1.1.8, it's recommended that you update to 1.1.9, and then run "php apex migrations:fix" once. Then, you should be all set. Thanks @zpeteraba!
Just started converting some libraries to test out PHP 7.4. Incredible work by @nikita_ppv and others to make PHP feel more modern than ever. Love those types properties and short closures!
@peter279k It's inspired by .NET Web API, and is focused on making your controllers much more expressive and flexible via automatic content negotiation. Opulence is probably most useful as an MVC framework, and Aphiria is best at REST API development. Examples here: github.com/aphiria/api
Aphiria is still being worked on, and isn't ready for any sort of production use. You can check out the progress being made there via its GitHub organization: github.com/aphiria. Its website is also still under construction, and I will post updates when it's up.
The new libraries I've been working on will fall under a new name - Aphiria. Aphiria is completely focused on helping you create REST APIs, and it uses some Opulence libraries to do this. Opulence will live in parallel with Aphiria - it is not going away. Cont'd
We have converted github.com/opulencephp to a GitHub organization. All commits formerly attributed to that user are now attributed to github.com/davidbyoung. Let us know if any links appear to have broken during the switch.
Thanks to some more optimzations, I've improved performance on the new POC route matching library by roughly 2.5x. That's closed the gap significantly to Symfony's router. Still some work to be done. github.com/opulencephp/tr…
The tl;dr explanation of the algorithm is that it uses a tree structure to represent and match the URI path segments of your routes instead of using the traditional regex-based approach.
I'm looking for some suggestions on how to improve performance on a proof-of-concept route matching library. It's already 20% faster than FastRoute, but slower than Symfony's router. Submit a PR or raise an issue if you have ideas. github.com/opulencephp/tr…
I'm using the FastRoute style of grouping ~10 regexes at a time. Basically, if I have two routes that could match the same regex, but if the first fails a constraint (eg requiring a particular header value for versioned routes), my second regex won't ever match due to regex greed
@ircmaxell Just read your blog on radix tree-based routing. Did your implementation ever beat the speed of regex-based routing? I ran into an issue where regex-based routing is falling short due to "constraints" that can be called before a route is matched.
I just did the first end-to-end test of Opulence 2.0. It is shaping up to be the simplest, yet most feature-full REST API framework for PHP. Automatic content negotiation and (de)serialization of just about any POPO with absolutely no configuration. Good stuff.
742 Followers 450 FollowingVP Eng @AxisCareUS // Champion of healthy software teams that make a big impact and happily stick around for the long haul. // I love puzzles.
760 Followers 4K FollowingI'm tech girl and traveler. I'm smart and friendly, in love with this wonderful quickly changing world. #web #php #javascript
291 Followers 1K FollowingAuthor of notable software. Love doing things in a different & better way! 𝙇𝙞𝙛𝙚 𝙞𝙨 𝙁𝙐𝙉...only 𝗶𝗳 𝘆𝗼𝘂 𝘄𝗮𝗻𝘁 to! 😊 https://t.co/KLG2zpbtVo • https://t.co/mRRGHy6Hvu
5K Followers 631 FollowingEngineer having fun. CTO of https://t.co/gAvCQCcNHM. Lead of Yii framework. Member of PHP-FIG. Organizer of IT conferences. Coffee enthusiast.
20K Followers 71 FollowingLLVM toolchain engineer at @RedHat. Open source contributor, mainly PHP / LLVM / Rust. Studied computer science and physics at TU Berlin.