By: Tristan Perry
Sr. Full Stack Developer
Laravel Consistently Rated #1 Framework
Who says it's #1?Here is a list of blogs and communities we have found to compare PHP frameworks. There are so many more. Feel free to give it a search for yourself.
Why is it ranked so high?There are many reasons why Laravel ranks above the rest of the php frameworks, and there is a lot of good information as to why in the links provided above. That being said, here are some of the reasons that we chose to use it for the development of Echo by E-dreamz.
First we wanted all of our web applications to be as secure as possible. With all the recent digital attacks and exploited vulnerabilities of platforms like Magento or Wordpress, it is important to us that we provide our clients with the security they deserve. Important security features are built into the framework itself such as protection against SQL injection, CSRF (Cross Site Request Forgery), XSS (Cross Site Scripting), and unauthorized user authentication. When a vulnerability is discovered it is fixed very quickly by its active development team. So keeping our clients up to date on security is a huge priority, and Laravel makes it easy and has the best support and documentation to do so.
Laravel is a modular framework available as individual Composer packages. There is no need to install a huge bloated framework when you only need to utilize some of the capabilities. Laravel itself is rather lightweight, which saves on application load time and server storage, but is easily expandable. Through composer we can quickly bring in any of hundreds of composer packages to handle different needs and keep them up to date. We also have the ability to create our own packages, which is what we did. Both our Echo base and Echo Ecommerce platforms along with other useful applications we built as separate composer packages. Doing this allows us to easily and efficiently add new updates and features to our core software and deploy them to all of our clients. This keeps everyone in sync, up to date, and secure.
Blade is Laravel's view creation engine that provides a clean and elegant syntax. This syntax can be applied to most of PHP's control structures, and has many other useful capabilities built in. What this means is that we can create awesome layout views that make sense and are structured perfectly for our needs. Extensions, yields, and includes allow us to plug and play code blocks, layouts, and widgets anywhere without rewriting a bunch of code. Also along with Laravel's routing we can set up any custom views we need and apply them to different areas of the site. Creating layout views with blade couldn't be cleaner or more efficient.
Laravel has built in capabilities for database migrations and seeding. Migrations allow for a sort of version control for the database. You can add or remove database tables and fields by creating and running one script, that we can utilize for updating all sites. It also has a rollback function that you can use to reverse the update if something goes wrong. Seeders allow the ability to populate the database with needed key information such as new settings or shared content that we can also script and use to update all sites. This is important since we use the Echo packages on all our applications. When we make an update to our core that involves changes to the database, we always use migrations and or seeders. Again this allows us to easily keep all of our sites in sync and up to date efficiently.
Perhaps most importantly, Laravel has spun up a huge thriving community whose active members include some of the most influential and talented developers in the PHP world. What this means is there is a lot of information and tools out there through both education and contribution. There are awesome blogs, tutorials, forums, screen casts, and documentation all over the web. Also with such an active community that is willing and eager to help, it is easy ask and find a solution to any issues you might come across, or you might find something new and wonderful that you can use for yourself. It is great to be a part of it all.
These are just a few of the reasons why we chose to use Laravel to be the backbone of our development, and why we agree with everyone singing its praises. We have had experience using other frameworks and software before, but once we made the change, we never looked back.