Dec 2014

Announcing Packanalyst - a PHP packages analyzer

Hey all,

We are very happy to announce the first release (in beta) of Packanalyst, a tool that scans and references all the interfaces / classes stored in any package from Packagist.

Packanalyst is a by-product of Mouf.

It can be tremendously useful for any package developer. Indeed, using Packanalyst, you can find any package containing classes that implement/extend or

Dec 2014

TDBM gains support for large volume transactions

Starting with version 3.3+, TDBM (Mouf's ORM) is gaining support for large volume processing, thanks to the weakref PHP extension!

Before version 3.3, the more record where fetched by TDBM, the more memory was consumed, until we ran out of memory. Hopefully, thanks to weakref support, unused beans ar

Dec 2014

Splash now supports StackPHP Middlewares

Starting with Splash 5, Splash (Mouf's MVC framework) is gaining support for StackPHP HTTP middlewares!

This means you can now add any of the great middlewares referenced on StackPHP's website directly in your Mouf application.

And because dependency injection is done graphically in Mouf, you can actually

Apr 2014

Container-interop: where we are, where we go

If you have not been following the container-interop project, let me start by a quick introduction.

Edit (2014-08-10): added Solution 4 to the document

The Goal

The goal of container-interop is to achieve the interoperability of container objects (service locators, dependency injection container

Apr 2014

Container interoperability talk at AFUP-Paris

I was really thrilled to be given the opportunity to deliver a talk about container-interop and the interoperability between dependency injection containers in general.

You can find the slides (in French) here:


Below is a link to the various projects presented during the talk:

Mar 2014

Mouf + Wordpress = Love

Today, I am really thrilled to announce Moufpress: a MVC framework for Wordpress.

Mouf + Wordpress = Moufpress

Why should I care?

Moufpress is a bridge between Wordpress and

Oct 2013

Optimizing Composer's autoloader performance

Lately, we spent quite some time optimizing Mouf's performance. It appeared that one of the bottlenecks was Composer's autoload mechanism. Our application was spending quite some time in the autoloader instead of doing interesting things.

I was curious to see how much was spent in Composer's autoloader, so I did a little benchmark with a simple "Hello World!" ap

Oct 2013

Improving Mouf performance on Windows

The short story

Don"t have 10 minutes to read the whole article? Here is the short story:

You should an opcode cache, like APC or Zend Optimizer+ (until PHP 5.5) or the native PHP 5.5 opcode cache afterwards. You should also be sure that the cache has enough memory.

Mouf will let you know if APC is short on memory. If you are using Zend Server on Windows (it has great performances), you should edit these

Oct 2013

Migrating to Mouf 2-beta 3 / Splash 4.2

Mouf 2 is getting near the stable release.

In the latest release, a few things have changed that might break your old application, so here is a very simple migration guide.

First of all, the ROOT_URL constant is no more declared in config.php. Instead, if you are using Splash, it will be automatically created for you. When migrating, to Splash 4.2 and Mouf 2-beta 3, you will have an error

Aug 2013

New in Mouf: a patch management system

Another great week for Mouf! We now have support for patches (and especially database patches).

So far, dealing with database schema changes in multiple environments involved writing an SQL file and applying it to every database in use. Of course, you had to do this manually, and it was error-prone.

Here comes Mouf's patcher. This patch system