Skip to content

10. Interim Conclusion

Examples 01 through 28 have presented, one by one, all the concepts required by the case study:

controllers, actions, routing, responses, redirects
01 through 05
[routes/web.php], folder [app/Http/Controllers]
service container, dependency injection
06
[app/Providers/AppServiceProvider.php]
Action model, binding, validation, form requests
07 through 12
[app/Http/Requests] folder
views [Blade], template, components, view composers
13 to 16
folder [resources/views], [AppServiceProvider.php]
forms, validation, redraw ([old], [@error])
17 to 19
[resources/views/components/field.blade.php]
Post / Redirect / Get, flash messages
20
[app/Web/Flash.php], [resources/views/fragments/success.blade.php]
links and buttons, anti-CSRF protection, confirmation window
21
[fragments/confirmation.blade.php], [public/js/app.js]
internationalization
22
[lang/*.json], [app/Http/Middleware/SetLanguage.php], [LanguageController.php]
Data Scope, Cache, Session, Cookies
23
[app/Web/ApplicationModel.php] (cache), [app/Auth] (cache), session, cookies
middleware, exception handlers, error pages
24
[bootstrap/app.php], [app/Http/Middleware], [resources/views/error.blade.php]
authentication JWT, roles, CAPTCHA, rate limiting
25 to 27
folder [app/Auth], [AuthController.php]
Web / Business / DAO, [Eloquent], Transactions
28
files [app/Models], [app/Dao], [app/Business]

The case study brings them together into a complete, realistic-sized application (about 100 files, approximately 5,800 lines, including comments). It was written with the same care as the examples: each file begins with a comment explaining its role, and tricky sections are annotated in the code. Each main folder also contains a file named [README.md] that lists its files. The document’s comments highlight what the examples did not show and refer to them for the rest.