PHP
These posts are all related to the PHP language
August 3, 2022
Narrowing types for static analysis
I have spent the last year moving a few big old codebases, including Composer, to PHPStan's level 8. Here are a few lessons I think I have learned in the process. I was for a while skeptical about...
ReadMay 15, 2018
PHP Versions Stats - 2018.1 Edition
It's stats o'clock! See 2014, 2015, 2016.1, 2016.2, 2017.1 and 2017.2 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset...
ReadNovember 13, 2017
PHP Versions Stats - 2017.2 Edition
It's stats o'clock! See 2014, 2015, 2016.1, 2016.2 and 2017.1 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset of the...
ReadMay 7, 2017
PHP Versions Stats - 2017.1 Edition
It's stats o'clock! See 2014, 2015, 2016.1 and 2016.2 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset of the PHP user...
ReadNovember 18, 2016
PHP Versions Stats - 2016.2 Edition
It's stats o'clock! See 2014, 2015 and 2016.1 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset of the PHP user base. I...
ReadJune 29, 2016
Typo Squatting and Packagist
Earlier this month an article was published summarizing Nikolai Philipp Tschacher's thesis about typosquatting. In short typosquatting is a way to attack users of a package manager by registering a...
ReadJune 6, 2016
PHP Versions Stats - 2016.1 Edition
Last year I posted stats about PHP versions, and the year before as well, both time in November. However this year I can't wait for November as I am curious to explore the PHP7 uptake! A quick note...
ReadApril 21, 2016
Common files in PHP packages
This one started in a peculiar way. Paul M. Jones announced a new version of his Producer tool, I had a look at it and saw that it recommended having a changelog called CHANGES.md by default. This...
ReadApril 5, 2016
Composer goes Gold
Five years ago today, Composer was born. In some ways it feels like yesterday, at least it doesn't feel like five years went by. In other ways it seems like a lifetime ago, and I can barely remember...
ReadApril 4, 2016
Toran Proxy Updates
Over the last month I spent quite some time bringing Toran Proxy up to speed with the times, and added a few features along the way. I haven't blogged about it in a while so I thought an update was...
ReadDecember 18, 2015
The Road to Monolog 2.0
Monolog's first commit was on February 17th, 2011. That is almost 5 years ago! I have now been thinking for quite a while that it would be nice to start on a v2, and being able to drop some baggage....
ReadDecember 18, 2015
New Composer Patterns
Here is a short update on some nice little features that have become available in the last year in Composer.
You may know about the composer validate
command, but did you know about...
November 23, 2015
PHP Versions Stats - 2015 Edition
It's that time of the year again, where I figure it's time to update my yearly data on PHP version usage. Last year's post showed 5.5 as the main winner and 5.3 declining rapidly. Let's see what 2015...
ReadAugust 11, 2015
MySQL's GROUP_CONCAT limitations and cascading bad luck
We had an incident today over at Teamup (where I have worked for the last 9 months by the way:) which is worth a quick blog post if it helps save anyone from having a bad day. We are using MySQL's...
ReadJune 17, 2015
20 Years and 9 Days of PHP
Here is my (slightly late) take on Ben Ramsey's call for stories on how people got started with PHP (although at this point I feel he just did this to get his blog to rank number one on all PHP...
ReadMay 4, 2015
Composer hosting improvements
Over the last two weekends I proceeded to upgrade the infrastructure behind packagist.org and getcomposer.org. There is now a lot more bandwidth and the DNS hosting was also migrated to DNSMadeEasy...
ReadDecember 8, 2014
Composer 1.0 alpha9
I tagged Composer's 1.0.0-alpha9 release yesterday and wanted to write down a more detailed update on the highlights of this release. It includes many changes as the last tag was almost one year old....
ReadNovember 14, 2014
My view of PHP version adoption
PHP 5.3 has been out of maintenance for about three months now and it seems like it's time for the community to move on at last. Drupal8 will target 5.4. Symfony announced the results of a poll about...
ReadJune 19, 2014
Toran Proxy and the future of Composer
TL;DR: New shiny product to support Composer development: Toran Proxy I have spent quite a large part of the last three years working on both Composer and Packagist. This has been great fun for...
ReadMay 27, 2014
Authentication management in Composer
Up until today if you run a home-grown package repository serving private packages it was quite a pain to use with Composer. You did not have efficient way to password-protect the repository except...
ReadJanuary 3, 2014
PSR-4 autoloading support in Composer
As of today and thanks to a pull request by Andreas Hennings who did the bulk of the work, we have PSR-4 autoloading support in Composer. It is a feature that can have a serious impact on users of...
ReadNovember 19, 2013
Upcoming Conferences
Here is a short update on the conferences I will attend in the coming months, in case you want to meet or if you are just looking for a good one to attend: Next month I am very happy to have the...
ReadJuly 11, 2013
Composer: Installing require-dev by default
Jeremy Kendall started a small twitter shitstorm last night by asking why Composer's install command now installs the require-dev dependencies by default. Indeed until a few months ago the only way...
ReadMarch 4, 2013
Composer: an update on require-dev
Update: the install command now also defaults to --dev, read more about the rationale Using require-dev in Composer you can declare the dependencies you need for development/testing. It works in...
ReadDecember 20, 2012
One logger to rule them all
I called the vote on the Logger Interface proposal last week. When the vote ends next week it will become PSR-3 (since it already collected a majority). The fourth recommendation from the PHP-FIG...
ReadNovember 16, 2012
Encouraging contributions with the Easy Pick label
One of the barriers to convert users into contributors in an open-source projects is that many people have no idea where to start. They are usually scared to take on large tasks because they are not...
ReadApril 23, 2011
I'm going nomad - introducing Nelmio
After almost three years working at Liip, I have finally decided to take the plunge and start my own business. Together with Pierre Spring, in early May we will start building up Nelmio. Why? To...
ReadApril 13, 2011
Terminal (Bash) arguments tricks
Reading David DeSandro's last post on how to store strings in variables in terminal, or any bash-y shell (I'd say any unix shell but I'm sure there is a weird one out there that does things...
ReadDecember 31, 2010
Speaking at ConFoo 2011
I recently had the pleasure to hear that I would be speaking at the ConFoo conference. This is a great opportunity for me as I'll finally be able to meet a few US-based guys from the PHP community...
ReadDecember 15, 2010
Speaking at Symfony Live 2011
I have the pleasure to announce that I will be speaking at the upcoming Symfony Live conference (Paris edition). I've been working with and on Symfony2 for a few months already, both in my spare...
ReadDecember 9, 2010
ESI - Full page caching with Symfony2
Launched about a month ago, techup.ch runs on the Symfony2 PHP framework, which is still undergoing heavy development but is already a great framework. Don't get me wrong, the framework is fast,...
ReadOctober 7, 2010
Speaking at the IPC and WebTechCon
Next week the International PHP Conference and the WebTechCon will happen both in Mainz, Germany. I will speak at both events over the three days and the good news is that the combined 100 sessions...
ReadSeptember 29, 2010
Symfony2 Presentation
Last weekend at the PHP Unconference in Hamburg I gave a talk showing an overview of the Symfony2 framework. The allowed 45min were way too short to say everything I wanted to say and I didn't really...
ReadSeptember 23, 2010
PHP Console in Your Browser
So-called interactive modes for scripting languages are commonly used in the command line, and they are great for quick tests, but most of the time when I try something it tends to grow and quickly...
ReadSeptember 22, 2010
Switching on my WLAN with my phone
It all started when my router began to crash every few days. All my connections would drop, and misery ensued. I disabled WLAN/Wi-Fi and it stopped crashing, so I was happy. But then my laptop's...
ReadJune 3, 2010
Introducing Slippy - HTML Presentations
Slippy is a HTML Presentation library written with jQuery, it takes a html file in and plays it in any browser. It is optimal for programming-related talks since it includes a syntax highlighter and...
ReadMay 10, 2010
Unpredictable hashes for humans
Disclaimer: As the title suggests, this was written for the average developers out there, not security experts. The article contains some shortcuts that might not please the more enlightened because...
ReadApril 5, 2010
Project management in PHP with Arbit
I would like to attract everyone's attention on the 0.3-alpha release of Arbit. For those that do not know Arbit yet, it is a project management and issue tracker build in PHP. It uses CouchDB as a...
ReadFebruary 22, 2010
Including open source in the hiring process
We were discussing the difficulty of the hiring process from a company point of view last week at the github meetup in Paris, and more specifically how hard it is to get quality people without...
ReadFebruary 18, 2010
Symfony Live 2010 - Symfony2, speaking and stuff
Overall the conference was pretty interesting since I don't have a lot of experience with symfony I learned quite a bunch of things about it's usage. I also met a lot of nice people, and ended the...
ReadDecember 8, 2009
Dwoo is better than Twig
It's lame catchy title day, a more appropriate one would be "Think for yourself", but I want to get my point across. This is a general purpose idea of course, I don't think there is any case in your...
ReadDecember 2, 2009
Major glob() fail
I just had the pleasure of discovering another of PHP's little quirks and since it's been almost a year since my last post, I thought it would be a good occasion. Working on some personal project...
ReadDecember 23, 2008
Multiton base class
While I like the Singleton pattern every now and then, I prefer the flexibility that the Multiton potentially offers, and well it's just an extended version of the Singleton, so it's "compatible"...
ReadOctober 24, 2008
Dwoo v1.0 is out
Now that Dwoo's user base has grown a bit and that I've received enough feedback and fixed quite a bunch of bugs and design flaws, I feel confident it's time to go stable, so here comes Dwoo v1.0.0...
ReadMay 13, 2008
Who let the Dwoo out ?
Four months have passed since I started on this project and I finally feel that it is stable enough to make an announcement and have more people trying it. So what is it ? Dwoo is a PHP5 template...
ReadDecember 18, 2007
PHP RSS Generator
As part of my work on my CMS (and website as this site is running on it), I decided to code a RSS feed builder. This could easily be made as a standalone class so I thought I would share it. The...
ReadNovember 30, 2007
ActionScript 3 Language file for GeSHi
As I wanted to post AS3 code with syntax coloring, I researched it a bit and found GeSHi, a PHP syntax highlighter, for which you can create language files quite easily. There is currently no AS3...
Read