I have a confession to make. I am absolutely in love with Laravel 4, but I guess that shouldn’t come as a surprise looking at the fact that it is just the most awesome framework there is!
If you love Laravel as much as I do, there is no doubt you want to take it for a spin and realize its full potential once you have the basics down.
One of the beautiful features of Laravel are the easy-to-install, easy-to-use Laravel 4 packages that you can include in your Laravel project to help you start up your next project as quickly as possible.
Without further ado, here are some of the packages – in no particular order – that I have been using a lot to make coding in Laravel even easier and faster than it already is.
Laravel 4 Generators – Jeffrey Way
Hands down the most useful packages out there to be used in every Laravel 4 project.
It pretty much does what it says on the box. It generates code for you, and does this in such a way that it makes CodeIgniter’s 20-minute-blog tutorial pale in comparison. 20 minutes? With Laravel 4 generators you can do it in about 2 minutes flat!
It can automagically generate the following with a few simple artisan commands:
- Resources (this will generate a model, migration and controllers for you)
- Scaffolds (now this will generate pretty much everything to get you started prototyping your application at lightning speed)
- Pivot tables
In addition to this, there is also a Sublime Text plugin available that will give you access to all these generators from within Sublime Text.
Sentry – Cartalyst
By default, Laravel 4 comes with a basic User model which includes password reminders and other basics. Cartalyst however will offer you a full user system with its amazing Sentry package.
It has the following features:
- Configurable authentication (can use any type of authentication required, such as username or email)
- Activation of user (optional)
- Groups and group permissions
- “Remember me”
- User suspension
- Login throttling (optional)
- User banning
- Password resetting
- User data
- Interface driven – switch out your own implementations at will
Not only is it available in Laravel 4, but also in FuelPHP1, CodeIgniter 3 and native PHP (through composer). It currently sits at version 2.1 and has an alpha of version 3. If you are looking to make a website or application that will have to handle multiple users, and multiple types of users (Administrator, normal user, premium user, …) then Cartalyst Sentry is definitely the way to go!
Laravel-ide-helper – Barryvdh
If you are beginning to learn Laravel 4, or if you are really attached to having autocompletion/intellisense for Laravel 4, then laravel-ide-helper is perfect for you. I personally stopped using this a while ago but if you don’t want to dive into the Laravel 4 documentation to look up the naming of every single function you should definitely give laravel-ide-helper by barryvdh a try.
To use this package, you can either grab a pre-generated version and drop it in your project, or get the full package and generate your own autocompletion file.
It has automatic phpDoc generation for Laravel Facades, and for Models.
Laravel Test Helpers – Jeffrey Way
Another great package from Laravel demi-god: Jeffrey Way
This package eases the process of writing tests for a Laravel application by offering:
- A Factory utility (quickly create and populate models)
- Model test helpers (
- Controller test helpers (
Testing in Laravel is very important and should not be overlooked if you want your application to be as solid as possible.
There isn’t much else to be said about this package other than that I highly recommend it if you would like to make testing in Laravel just that little bit easier than it already is!
Ardent – laravelbook
Self-validating smart models for Laravel. Validation is something you will without doubt use in every single Laravel project. If you have ever worked with CakePHP, you know how handy this feature is. You can write your model and specify all the validation that needs to be done before saving your model to your database. Then when you save the Model inside of your Controller, validation will happen automatically instead of cluttering your Controllers with a lot of redundant code.
Using Ardent for Laravel you can specify all the validation, error messages, … directly inside your model (valid e-mail, username, …)
I use this package in almost every project I start up and it cuts down my development time by a great amount of time!
I hope this post will help everyone that is looking to speed up their development time with some packages that can be used in almost every project.
If you have any suggestions, or packages that you use in a lot of your projects over and over again, feel free to leave a commend below and I’ll update this post with some information on the package.