⟩ Please explain what are the main differences between Laravel 4 and Laravel 5.x?
Summarizing Laravel 5.0 Release notes from the above article:
☛ 1. The old app/models directory has been entirely removed.
☛ 2. Controllers, middleware, and requests (a new type of class in Laravel 5.0) are now grouped under the app/Http directory.
☛ 3. A new app/Providers directory replaces the app/start files from previous versions of Laravel 4.x.
☛ 4. Application language files and views have been moved to the resources directory.
☛ 5. All major Laravel components implement interfaces which are located in the illuminate/contracts repository.
☛ 6. New route:cache Artisan command to drastically speed up the registration of your routes.
☛ 7. Laravel 5 now supports HTTP middleware, and the included authentication and CSRF "filters" have been converted to middleware.
☛ 8. you may now type-hint dependencies on controller methods.
☛ 9. User registration, authentication, and password reset controllers are now included out of the box, as well as simple corresponding views, which are located at resources/views/auth.
☛ 10. You may now define events as objects instead of simply using strings.
☛ 11. In addition to the queue job format supported in Laravel 4, Laravel 5 allows you to represent your queued jobs as simple command objects. These commands live in the app/Commands directory.
☛ 12. A database queue driver is now included in Laravel, providing a simple, local queue driver that requires no extra package installation beyond your database software.
☛ 13. Laravel command scheduler allows you to fluently and expressively define your command schedule within Laravel itself, and only a single Cron entry is needed on your server.
☛ 14. The php artisan tinker command now utilizes Psysh by Justin Hileman, a more robust REPL for PHP.
☛ 15. Laravel 5 now utilizes DotEnv by Vance Lucas.
☛ 16. Laravel Elixir, by Jeffrey Way, provides a fluent, expressive interface to compiling and concatenating your assets.
☛ 17. Laravel Socialite is an optional, Laravel 5.0+ compatible package that provides totally painless authentication with OAuth providers.
☛ 18. Laravel now includes the powerful Flysystem filesystem abstraction library, providing pain free integration with local, Amazon S3, and Rackspace cloud storage - all with one, unified and elegant API!
☛ 19. Laravel 5.0 introduces form requests, which extend the IlluminateFoundationHttpFormRequest class. These request objects can be combined with controller method injection to provide a boiler-plate free method of validating user input.
☛ 20. The Laravel 5 base controller now includes a ValidatesRequests trait. This trait provides a simple validate method to validate incoming requests.
☛ 21. new Artisan generator commands have been added to the framework.
☛ 22. The popular dd helper function, which dumps variable debug information, has been upgraded to use the amazing Symfony VarDumper.