Series · Day 100 of 100
PHP & Laravel Development
- 01Modern PHP is not the PHP you remember, explained simplyPHP 8 brought types, JIT and a framework ecosystem that rivals any language.Oct 27, 2026
6 min - 02Setting up a modern PHP development environment explainedPHP 8.3+, Composer and a local stack that just works.Oct 27, 2026
6 min - 03PHP 8 features every developer should use for productionLanguage features that make PHP code safer and shorter.Oct 27, 2026
6 min - 04Strict types in PHP: a PHP & Laravel guide for developersTurn on type checking and catch bugs earlier.Oct 27, 2026
6 min - 05PHP enums: everything engineers need to know in practiceReplace magic strings with real types.Oct 27, 2026
7 min - 06Composer and autoloading: a hands-on guide for engineersDependency management and PSR-4 autoloading.Oct 27, 2026
7 min - 07PSR standards worth knowing in PHP & Laravel DevelopmentInteroperability standards for PHP.Oct 27, 2026
7 min - 08Laravel vs Node.js for web backends: a step-by-step guideTwo productive ecosystems compared.Oct 27, 2026
6 min - 09Laravel project structure explained: a step-by-step guideWhere everything lives in a Laravel app.Oct 27, 2026
8 min - 10Laravel routing: PHP & Laravel best practices explainedMap URLs to code cleanly.Oct 27, 2026
6 min - 11Laravel controllers done right: best practices explainedKeep controllers thin.Oct 27, 2026
7 min - 12Laravel REST API tutorial: practical tips and trade-offsBuild a clean JSON API step by step.Oct 27, 2026
5 min - 13Laravel validation with Form Requests: a practical guideValidation and authorization in one class.Oct 27, 2026
8 min - 14Laravel API Resources: a practical guide for developersControl your API output.Oct 27, 2026
7 min - 15Eloquent ORM basics: a PHP & Laravel guide for developersLaravel's ActiveRecord ORM, used well.Oct 27, 2026
7 min - 16Eloquent relationships explained: lessons from productionhasMany, belongsTo and many-to-many with examples.Oct 27, 2026
6 min - 17Fixing N+1 queries in Laravel: best practices explainedEager loading in one line.Oct 27, 2026
6 min - 18Laravel migrations: a PHP & Laravel guide for developersVersion-controlled database schema.Oct 27, 2026
6 min - 19Factories and seeders: a practical guide for developersRealistic test and demo data.Oct 27, 2026
7 min - 20Query scopes and query builder: best practices explainedReusable query logic.Oct 27, 2026
7 min - 21Database transactions in Laravel: lessons from productionKeep related writes consistent.Oct 27, 2026
7 min - 22Laravel authentication options: best practices explainedBreeze, Fortify, Sanctum and Passport — which one?Oct 27, 2026
7 min - 23Laravel Sanctum API authentication: a step-by-step guideToken and SPA authentication made simple.Oct 27, 2026
6 min - 24Authorization with policies and gates: a practical guideWho can do what.Oct 27, 2026
7 min - 25Laravel middleware: a PHP & Laravel guide for developersFilter requests before they reach controllers.Oct 27, 2026
7 min - 26Laravel queues explained: a hands-on guide for engineersMove slow work out of the request.Oct 27, 2026
7 min - 27Laravel Horizon: PHP & Laravel best practices explainedA dashboard for Redis queues.Oct 27, 2026
8 min - 28Laravel task scheduling: a practical PHP & Laravel guideOne cron entry for all scheduled tasks.Oct 27, 2026
7 min - 29Events and listeners in Laravel: lessons from productionDecouple side effects from core logic.Oct 27, 2026
7 min - 30Sending email in Laravel: a hands-on guide for engineersMailables and markdown templates.Oct 27, 2026
6 min - 31Laravel notifications: a practical guide for developersOne API for email, SMS, Slack and database.Oct 27, 2026
7 min - 32Caching in Laravel: a PHP & Laravel guide for developersSpeed up slow queries and pages.Oct 27, 2026
6 min - 33File storage in Laravel: a practical PHP & Laravel guideOne API for local disks and S3.Oct 27, 2026
8 min - 34Laravel configuration and .env: best practices explainedConfiguration without secrets in git.Oct 27, 2026
6 min - 35Service container and dependency injection: a deep diveHow Laravel resolves your classes.Oct 27, 2026
7 min - 36Service providers explained in PHP & Laravel DevelopmentWhere Laravel apps get configured.Oct 27, 2026
6 min - 37Service and action classes in Laravel: a practical guideWhere business logic should live.Oct 27, 2026
7 min - 38Repository pattern in Laravel: do you need it explainedOften no. Sometimes yes.Oct 27, 2026
6 min - 39Testing Laravel with Pest: practical tips and trade-offsReadable tests with a modern syntax.Oct 27, 2026
7 min - 40PHPUnit vs Pest: PHP & Laravel best practices explainedTwo test runners, same engine.Oct 27, 2026
5 min - 41Mocking HTTP calls in Laravel: best practices explainedTest integrations without real requests.Oct 27, 2026
6 min - 42Static analysis with PHPStan and Larastan for productionCatch bugs without running code.Oct 27, 2026
6 min - 43Laravel API rate limiting: practical tips and trade-offsProtect APIs from abuse.Oct 27, 2026
6 min - 44CORS in Laravel: PHP & Laravel best practices explainedConfigure cross-origin requests correctly.Oct 27, 2026
7 min - 45Laravel security checklist: patterns, pitfalls and fixesIssues that appear in real audits.Oct 27, 2026
6 min - 46CSRF protection in Laravel: patterns, pitfalls and fixesPrevent forged requests from other sites.Oct 27, 2026
8 min - 47Uploading files securely in PHP: lessons from productionFile uploads are a common attack vector.Oct 27, 2026
7 min - 48Blade templates: PHP & Laravel best practices explainedServer-rendered views with components.Oct 27, 2026
9 min - 49Livewire for interactive UIs in PHP & Laravel DevelopmentDynamic interfaces in PHP.Oct 27, 2026
7 min - 50Inertia.js with Laravel: a practical PHP & Laravel guideVue or React pages without building an API.Oct 27, 2026
7 min
