We’ve already covered the new
routes directory and the changes that will make to the directory structure. But there’s one other directory change coming in Laravel 5.3: many of the default folders will not show up until you run a command that requires them.
These directories come in each new version of Laravel prior to 5.3 but are often not used, so all new installs won’t have them. Here’s the list of folders that are going away:
Notice a pattern? These are directories that contain a single, more advanced class structure that aren’t universal to Laravel apps. Events, Jobs, Listeners, and Policies.
One note: If you were used to manually creating classes for each of those structures, you may find this change adds an extra step; but if so, it’s really worth considering using Artisan to create them anyway. Artisan will handle creating these directories if they don’t exist, so the change should be transparent in that context.
For a great visual of how this change will simplify a default Laravel install, take a look at this graphic from Laravel News:
(image from Laravel News post Laravel 5.3 changes the ‘app’ folder)
There are also new folders that won’t show up on a new install but might show up after you use Artisan generators:
app/Mail for Mailables and
app/Notifications for Notifications.