I recently inherited a legacy PHP project built on a closed-source framework where all the core classes were encrypted with IonCube. Not knowing what classes and methods exist makes it extremely difficult to use that functionality. In order to make life easier, I set out to create a stubs.php file listing all of those “hidden” classes and methods.
To celebrate this milestone I thought I’d share the story of how this package came about, how it’s grown, and how I couldn’t have reached this milestone without the PHP community’s help.
PHP 7.2 is slated for release in November 2017, but you don’t have to wait until then to start testing your applications! We can easily use Docker to test against the latest pre-release versions of 7.2.
I recently needed the ability to perform a RIGHT JOIN in a Symfony project. While Doctrine’s DBAL library seems to support this, the ORM’s QueryBuilder does not. Unfortunately, the suggested workaround of inverting the query wouldn’t work in my situation. I also didn’t feel like rewriting the query into DQL, so I ultimately hacked in my own support by duplicating the LEFT JOIN functionality. I figured I’d share my patch in case it helps others facing a similar issue.
Open-source development is more than big new features and major releases. Small contributions are just as important to the success of open-source projects! Any improvement, no matter how small, can help both the project and other developers.
Home Assistant uses the open-zwave library to control Z-Wave home automation devices like light switches and door sensors. Unfortunately, this library’s last release (1.5) was back in August 2016 and doesn’t include configurations for many Z-Wave devices I use (like the Linear NGDZ00-4 Garage Door).
For Pi Day 2017 I created a really fun project - the PHPUnicorn!
A simple PHPUnit listener collects test results and sends them to a Raspberry Pi Zero Wireless device in real-time. As the device receives the stats it lights up LEDs green, red, or orange to visualize the progress and results of your unit tests.