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.
Recent Activity
This morning I came into work to find my Packagist download counter had rolled over: league/commonmark now has over 1,000,000 downloads!
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.
This project is a DIY touchscreen panel to arm/disarm Home Assistant's alarm system. It's powered by a Raspberry Pi, 3.5" touchscreen display, a custom Python-based application, and MQTT.
Check out the full build details and the source code for more.
I designed and 3D-printed a simple, custom-sized remote control holder to keep my coffee table organized. It holds my:
- Aeotec Z-Wave Minimote
- Roku 3 Remote
- Xfinity Remote
- Vizio TV Remote
- Wiimote Controller
You can see and download the 3D model here: https://www.thingiverse.com/thing:2454008
A simple, modern PHP library to identify, convert, and enumerate IPv4 IP addresses and subnets. Forked from https://github.com/tapmodo/php-ipv4
A 7-segment display shows how many times my league/commonmark library has been downloaded by pulling data from packagist.org.
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.
PHP 7.2 Pre-Release Images
PHP now has official pre-release Docker builds available. You should use those instead.
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.
I was playing Tetris over the weekend when I realized it's a great metaphor for managing technical debt.