PHP 8 and ZPD

More information about the future of Zen Perfect Design apps and PHP 8

Published on November 30, 2020

News and Updates

PHP Version 8 Dropped!

I know, I know... it's been a while. I took a long break from pre-packaged app development, so forgive my silence, but I just so happened to see that PHP dropped a new major version on the 26th! After looking at all the really cool new language features added in this version, I have made a mental commitment to start porting some of my current lineup over. It's just an idea now, and I will probably give it some time to make it out to all the major shared-hosting providers before upgrading CodeCanyon apps to make it a minimum requirement. It looks super cool though guys and I'm really looking forward to checking out the new performance metrics!

Coral 1.2.0 Development

I'm going to be releasing a new minor version update for Coral in the upcoming months. This update will include a new "MySQL-less" installation option and improved monitor and scan performance. The Command Line Interface will also be getting some much need attention, and a new BINARY file option will be added to the monitor options to aid in finding rogue binary files. In addition to these, I will be adding some additional reporting and notification options to help assist with auditing events over time. The goal is to create a "timeline" of sorts that will assist webmasters with finding and patching vulnerabilities in their web applications. The information from scans should be historical, relevant, and paint a picture to help point to other sources to compare against such as Apache web logs.

As for the future, I have already committed to the idea of moving version 2.0.0 to a completely static-file based repository schema and keeping application configuration in localized PHP files. What this means for customers is complete version control of the Coral instance making data backups super easy, using normal command line tools, without the hassle of migrating/moving a database. While this implementation is still on the drawing board, other work I have done recently has shown it is obtainable - but what the performance looks like with massively large monitors - more testing is needed in real world environments to tell. It all comes down to performance and resource utilization. The aim is to keep Coral light on both, where feasible, without sacrificing features.

Firefly Development

Firefly development has been on pause for a number of reasons. Mainly because I've been super busy with other lovely tasks, but also because I have been fighting back and forth in my head over forking the Slim 3 framework into my own adapted platform for future app development. I played around with the idea a few years ago and "Ivory" was the name I was rolling with at that time. Entity and Serenity both used massively different code-bases which resulted from experimentation with rolling my own solution (i.e. Entity - no framework) vs using a micro-framework (i.e. Serenity). In the end, Slim 3 was much more efficient and became a perfect solution for my own development needs. Slim 4 on the other hand, is something that I have been steering away from incorporating into my current projects for multiple reasons - all of which are completely opinionated and are no knock on the Slim development team. The Slim 3 base application dispatcher and fast router are great assets that handle A LOT of the tedious HTTP lifecycle, but I have yet to find a good balance for incorporating shared objects, actions, events, expandable functionality through plug-ins, and an easy update and installation wrapper.

All that said, I am still pushing ahead as planned with Firefly as is and it will be built on Slim 3 just like Coral. However, I am fully expecting to move both apps to an OpenSource forked implementation i.e. Ivory in the future. In the end, the motivation for all of this is to get away from relying on too many vendor dependencies and retain more control over my applications' development lifecycle. Large changes to the Twig library (I use for views and templates) recently made me realize how relying on too many other projects can really hinder my ability to keep my CodeCanyon apps accessible to the population that uses that marketplace. These apps should be rock solid and dependable. I market my pre-paid, all-in-one apps, to be on par with Wordpress when it comes to ease of use, but it gets ugly under the hood when trying to glue multiple "philosophies" into one mashed potato repo that I trust to use as a required dependency for my app to function - hopefully that makes sense.

I'm looking forward to the upcoming months. It's looking bright, but only time will tell. Be on the lookout for more info!