Laravel 4, the latest version of the popular Laravel MVC framework, has been released! Laravel is my favorite PHP development framework and I happy with most of the changes in this edition.

Goodbye Bundles, Hello Composer

One of the most noteworthy changes in Laravel 4 is the replacement of Bundles with Composer packages. Composer is a dependency manager for PHP, similar to NPM for Node.js. Rather than include all of the individual technologies that Laravel depends on in the download, Laravel 4 uses Composer to download the latest versions from their sources and place them in your Laravel framework installation.

A big drawback of adding this step to the installation of Laravel is that you must first install and run Composer, something that is generally not possible in the shared hosting environment. So, in order to get Laravel ready for production use, you must compile it locally and then upload the complete framework (including the newly downloaded dependencies) to your server. This also makes the framework rather bloated, although there are ways to remove some of the unused junk when you deploy.

Method Name Changes

Several commonly used methods, such as Eloquent ORM’s order_by(), have been switched to camelCase - orderBy(). Because of this, it is virtually impossible to “upgrade” from Version 3 to 4, as calls to these methods will cause an error.

Another annoyance is that you may no longer use

{{ Asset::styles() }}


{{ Asset::scripts() }}

in your templates as these have been removed in version 4. It would appear that assets may no longer be added to a view via the controller.


Laravel continues to be my favorite MVC framework due to its flexibility and Eloquent ORM.