Laravel, MVC framework for web applications
There's no way you don't know about Laravel if you are a web developer, specially one who works with PHP.
What started as a framework mostly known for its tuned Model-Controller-View architectural pattern is now a complete ecosystem of tools, resources and extensions that fulfill any requirement for small websites, web applications or complex systems created in PHP.
Let alone the complete documentation and huge community that together will make life easier for beginners
The framework is completely free and open-source. It always keeps up with the latest version of PHP, so you always need to make sure that your PHP compiler is updated or matching the required version that Laravel specifies in the requirements list.
Laravel is installed through Composer in a few steps and it can be served from an Apache or NGINX server. They also provide two development environments ready to run Laravel without you needing to configure anything:
- Laravel Homestead, an Ubuntu based Vagrant box that will run in a virtual machine.
- Valet, for Mac users, which together with Homebrew prepare a basic environment that runs NGINX, provide a PHP compiler and a MySQL server
Everything is structured in an intuitive way. Once you have your Laravel site running for the first time, the next steps to take are clearly explained in the documentation: set up the configuration, routing, create middleware code that intercept requests, controllers for your routes, views that together form the HTML templates returned in response along with assets that are CSS, JS, images, fonts and anything related to the front-end.
- Install it in a few steps with Composer
- Comes with development environments that get everything ready for you
- Routing engine
- Uses dependency injection to connect all the components
- Database ORM based on models
- Database migrations and seeding
- Templating engine
- Localization support
- Service providers for any feature that you might need implemented (mail, cache, logging, security, validation, file system, notifications, tasks scheduling and much more)
- Everything can be extended and tailored to fit your needs
- Testing support with PHPUnit
- Plenty of tutorials and a detailed documentation for each version
- Additional tools and services for deployment, management, productivity and payments processing