Top 5 reasons why we started to use Laravel
There are many PHP haters in the development world. Some may say that it’s a dead language, some say that it has no perspective. Despite this buzz, number or popular CMSs are based exactly on PHP, moreover they continue to grow and evolve.
Our team used to work with different kind of projects, thus, we are always familiar with new technologies in a software world. So we met a quite new great framework, which is called to move PHP developers to the new level. Ladies and gentlemen meet Laravel framework, which we tried out on our latest projects. We tested it and carried out some thoughts that we want to share in this post…
What is Laravel
As you might suggest, Laravel is an open source web application framework, based on PHP. It was exclusively created for MVC applications development. It was released under the MIT license (a free software license invented at the Massachusetts Institute of Technology) and the source code is said to be hosted on GitHub.
Many features come out of the box, including communicating with a database, localization (multiple languages), authenticating users, sending e-mails e.t.c. And this is just a starting list of features that the framework does for you.
It helps to speed up the development process and brings together all the best components in order to make the developers life happier :)
But let’s take a closer look at our framework and highlight the best Laravel features we have faced during our experience. So…
Documentation and community
Taylor Otwell, the Laravel founder, hadn’t missed any detail during the framework development. It seems that he is truly passionate about making things simpler and more digestible. Therefore, all of the Laravel documentation was written by him with a great attention to all the necessary issues.
Another pleasant thing - frameworks community is really cool and it is active! Wherever we met a problem, we had a good chance to look for the live solutions. There is always a big chance that someone else has already encountered it too and solved it.
Maybe you have ever heard about a ‘Clean Code’ book. Its author Robert C. Martin described how to write quality, descriptive and clear code. Taylor Otwell took that principle and adopted them to Laravel. It seems to reflect in every nuance of the framework.
For example, let’s look at the following case, where we ask the Role model for all roles, with pagination set to 5 results per page.
$roles = Role::paginate(5);
That’s how simple basic pagination is in Laravel. There’s one additional tag needed in the view, and that’s it. Incredibly simple and incredibly easy to understand.
Out-of-the-box User Model
Laravel 5 provides a great user model. You get the migrations and controllers, necessary for setup the users table and a fully working user registration. Login system, with forgot password functionality, is also included.
However, Laravel does require you to write the routes and views on your own. But such a ready-made user model helps to run any project quickly and without any headaches. It’s also nice to have ‘the forgot password’ functionality there because that involves setting tokens that expire, which can be fairly complicated and time-consuming to setup.
Dependency Injection Made Simple
For sure, you must have been hearing about dependency injection, which allows you to code to a contract instead of a concrete class. It sounds complicated, but it appears quite simple in the context of Laravel.
You can easily swap out implementations with minimal impact on the code. It is centered on this idea of loose-coupling of classes which make your code more extensible and easier to maintain.
Products and Packages support
It’s pretty cool that Laravel is well-supported by many packages, which totally help you to move your project along painless and quickly. It is worth to mention that Laravel family also includes a number of powerful products that help with development process in numerous ways, from local environment (Homestead) to deployment (Forge, Envoyer). These include Lumen, Elixer, Forge, Homestead, and Envoyer.
Why our clients also should fall in love with Laravel
All of the benefits mentioned above may be quite interesting for specialists. But what about clients? What do they get from this framework exploding on their project? Well, let’s face the truth and outline the best features in a simple way:
- It helps to save a lot of time due to its instinctive modular packaging systems.
- Laravel set-up and customization process is incredibly easy
- The code is always regimented with Laravel which applies the finest practices while its executions.
- Laravel comes with a lot of in-built features which aids in template engines, dependency injection containers, service layers and a well-built code.
- Pre-enabled tools to protect from injection and XSS attacks making it less complex for the Laravel Developers.
- It keeps all the SQL codes in separate model files which makes the coding much more stress-free to maintain and monitor.
Whether you are a developer or a project owner and you are thinking about Laravel implementation, definitely our advice will be ‘yes’! If you are looking for a framework with quick and functional core to extend, clean routing, easy integration libraries, active community and many more – try out Laravel. At least, you will be able to discover it more closely and to build your own opinion.