was released today!
I and James Titcumb started working on this
project back in 2015, and it is a pleasure to see it reaching maturity.
The initial idea was simple: James would implement all my wicked ideas, while I
would lay back and get …
Today we're talking about Visual debt in our code.
As an introduction, I suggest to watch
this short tutorial
about visual debt by
The concept is simple: let's take the example from Laracasts and re-visit
the steps taken to remove visual debt.
I've been using a
for a bit over two years now, but its usage was limited to
Last week, I received my new DELL XPS 15 9560, and since I am maintaining
some high impact open source projects, I wanted the setup to be well secured.
Some time ago, I was asked where I put I/O operations when dealing with
The context was a CQRS
and Event Sourced architecture, but in general, the approach that I prefer also applies to most
imperative ORM entity code (assuming a proper data-mapper is involved).
was finally released today!
It took a bit more than a year to get here, but major improvements were included
in this release, along with exclusive PHP 7 support.
Most of the features that we planned to provide were indeed
implemented into this release .
Please note that this article explains complexity in internal ORM operations with the Big-O
notation. Consider reading
this article ,
if you are not familiar with the Big-O syntax.
What is hydration?
Doctrine ORM, like most ORMs, is performing a process called …
Make your classes always final , if they implement an interface,
and no other public methods are defined
In the last month, I had a few discussions about the usage of the final marker on PHP classes.
The pattern is recurrent:
I ask for a newly introduced class …
Today I finally released version
1.0.0 of the
Noticeable improvements since 0.5.2:
Windows path length limitations are now mitigated
Proxy classes are now re-generated when the library version changes
Since it's almost christmas, it's also time to release a new project!
The Roave Team is pleased to announce the release of
roave/security-advisories , a package
that keeps known security issues out of your project.
Before telling you more, go grab it:
Last year, I
worked on a feature
for ZF2 called
"Delegator Service Factories"
, which was included in Zend Framework 2.2.0.
It seems to me that many ZF2 developers either don't fully understand the feature,
or do not know it.
This article analyzes the feature in depth …
Yesterday, I worked on yet another interesting little experiment, which is called
The problem with "lazy" properties
The idea is very simple: avoid manually checking object properties to see if they were initialized.
Let's make a simple example:
Today, I had again a discussion on IRC on why
doesn't (and won't) implement a fluent interface. Here are my thoughts on why that's the case.
Recap: What is a Fluent interface?
A Fluent Interface
is an object oriented API that provides "more readable" …
A couple of months ago, I found a forgotten feature of PHP itself.
Apparently, it is possible to cast objects to arrays like following:
public $bar = 'barValue';
$foo = new Foo();
$arrayFoo = (array) $foo;
This will produce something like: