Jan 2015
Stable release or living on the edge? Time to choose!
Hello folks!
For a very long time (3 years), Mouf 2 has been in development with no stable release. Most of the developers using Mouf assumed each new version of Mouf was more stable than the previous one (and it was a reasonable assumption).
Therefore, the composer.json
file of a typical Mouf project was looking like this:
{
"require" : {
"mouf/mouf" : "~2.0"
...
Jan 2015
Finally! Mouf 2 is getting a stable release!
Framework philosophy (or what makes Mouf different)
Mouf was born in 2009 from the vision that dependency injection was at the same time over-complicated and also under-used. Today, most frameworks are based on dependency injection containers (DIC). The role of these containers is to create instances of objects for the developer.
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:
http://mouf-php.com/slides/afup-paris
Below is a link to the various projects presented during the talk:
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