Learning path
PHP & Laravel learning path: everything to study, topic by topic
Comprehensive PHP and Laravel assessment covering PHP fundamentals, object-oriented programming, Laravel routing and controllers, Eloquent ORM, authentication, authorization, queues, events, testing, API development, performance optimization, and production deployment.
Short answer
To learn PHP & Laravel, work through 6 modules and 24 topics in the order they build on each other. It starts with PHP Fundamentals, then moves on to Object-Oriented PHP and Laravel Basics. Use the map as a checklist, or measure your level and study only what is missing.
What you will study
Topics are grouped by module. Open one to see its objectives and key concepts.
1 · PHP Fundamentals4 topics
PHP Syntax & Basics
PHP tags, echo/print, comments, variable declarations with $, superglobals, type juggling, comparison operators (== vs ===), control structures (if, switch, match)
Objectives
- Write basic PHP scripts with correct syntax
- Understand PHP type juggling and comparison operators
Key concepts
- PHP tags
- echo and print
- variable declarations ($)
- superglobals
- type juggling
- loose vs strict comparison
- control structures
- match expression
Data Types & Type System
Scalar types (int, float, string, bool), compound types (array, object), special types (null, resource), type declarations, union types, intersection types, enums (PHP 8.1+), type casting, and type coercion
Objectives
- Use PHP type system features including union and intersection types
- Understand type coercion rules and strict typing
Key concepts
- scalar types
- compound types
- null and resource
- type declarations
- union types
- intersection types
- enums
- type casting
Functions & Closures
Function declarations, parameters (by value/reference), default values, variadic functions, return types, anonymous functions, closures (use keyword), arrow functions (fn =>), first-class callable syntax, named arguments
Objectives
- Write functions with proper type declarations and parameter handling
- Use closures and arrow functions for concise callback patterns
Key concepts
- function declarations
- pass by value vs reference
- default parameters
- variadic functions
- return type declarations
- anonymous functions
- closures and use keyword
- arrow functions
Arrays & String Manipulation
Indexed arrays, associative arrays, multidimensional arrays, array functions (map, filter, reduce, sort), string functions, regular expressions (preg_match, preg_replace), string interpolation, heredoc/nowdoc syntax, array destructuring
Objectives
- Manipulate arrays using built-in PHP functions
- Process and transform strings with regex and built-in functions
Key concepts
- indexed arrays
- associative arrays
- array_map/filter/reduce
- sorting functions
- string functions
- regular expressions
- heredoc/nowdoc
- array destructuring
2 · Object-Oriented PHP4 topics
Classes & Objects
Class definitions, properties, methods, constructors, visibility (public/protected/private), static members, inheritance, abstract classes, readonly properties, constructor promotion, magic methods (__construct, __toString, __get, __set, __call)
Objectives
- Design classes with proper encapsulation and inheritance
- Use PHP 8.x features like constructor promotion and readonly properties
Key concepts
- class definitions
- visibility modifiers
- constructors and promotion
- static members
- inheritance
- abstract classes
- readonly properties
- magic methods
Interfaces & Traits
Interface declarations, implementing multiple interfaces, traits for code reuse, trait conflict resolution, abstract trait methods, interface constants, fibers (PHP 8.1+), readonly classes (PHP 8.2+)
Objectives
- Design contracts using interfaces and compose behavior with traits
- Resolve trait conflicts and understand modern PHP class features
Key concepts
- interface declarations
- multiple interface implementation
- traits
- trait conflict resolution
- abstract trait methods
- interface constants
- fibers
- readonly classes
Namespaces & Autoloading
Namespace declarations, use statements, aliasing, PSR-4 autoloading standard, Composer autoloader, classmap vs PSR-4, spl_autoload_register, vendor directory structure, composer.json configuration
Objectives
- Organize PHP code with namespaces following PSR-4
- Configure Composer autoloading for projects
Key concepts
- namespace declarations
- use statements
- aliasing
- PSR-4 standard
- Composer autoloader
- classmap vs PSR-4
- spl_autoload_register
- composer.json
Error & Exception Handling
Try-catch-finally blocks, exception hierarchy, custom exceptions, error levels, set_error_handler, set_exception_handler, Error vs Exception (PHP 7+), Throwable interface, logging errors, production error handling strategies
Objectives
- Implement robust error handling with custom exception hierarchies
- Configure error handling for development vs production environments
Key concepts
- try-catch-finally
- exception hierarchy
- custom exceptions
- error levels
- set_error_handler
- Error vs Exception
- Throwable interface
- production error handling
3 · Laravel Basics4 topics
Laravel Routing
Route definitions (GET, POST, PUT, DELETE), route parameters, named routes, route groups, route model binding (implicit/explicit), resource routes, API resource routes, route caching, fallback routes, rate limiting
Objectives
- Define and organize Laravel routes with proper grouping and naming
- Use route model binding and resource routes for RESTful design
Key concepts
- HTTP verb routes
- route parameters
- named routes
- route groups
- route model binding
- resource routes
- route caching
- rate limiting
Controllers & Middleware
Controller creation, single-action controllers, resource controllers, dependency injection in controllers, middleware registration and groups, middleware parameters, terminable middleware, form requests, request lifecycle
Objectives
- Build controllers with proper dependency injection and middleware
- Understand the Laravel request lifecycle and middleware pipeline
Key concepts
- controller creation
- single-action controllers
- resource controllers
- dependency injection
- middleware registration
- middleware groups
- terminable middleware
- request lifecycle
Blade Templating
Blade syntax ({{ }}, {!! !!}), template inheritance (@extends, @section, @yield), components and slots, directives (@if, @foreach, @auth), including sub-views, Blade service injection, custom Blade directives, anonymous components
Objectives
- Build reusable view layouts with Blade inheritance and components
- Use Blade directives and understand XSS prevention with output escaping
Key concepts
- Blade output syntax
- template inheritance
- components and slots
- control directives
- including sub-views
- service injection
- custom directives
- anonymous components
Artisan CLI
Built-in Artisan commands, creating custom commands, command signatures and arguments, scheduling commands, closure commands, command output and prompts, tinker REPL, generating boilerplate (make:model, make:controller, etc.)
Objectives
- Use Artisan commands effectively for development workflow
- Create custom commands with proper signatures and scheduling
Key concepts
- built-in commands
- custom commands
- command signatures
- scheduling
- closure commands
- tinker REPL
- code generation
- command I/O
4 · Laravel Data Layer4 topics
Eloquent ORM
Eloquent models, mass assignment, query scopes (local/global), accessors and mutators, attribute casting, soft deletes, model events, query builder vs Eloquent, chunking results, cursor iteration, model factories
Objectives
- Build Eloquent models with proper mass assignment and scopes
- Use accessors, mutators, and casts for data transformation
Key concepts
- Eloquent models
- mass assignment protection
- query scopes
- accessors and mutators
- attribute casting
- soft deletes
- model events
- query builder
Migrations & Schema Builder
Creating migrations, schema builder methods (create, table, drop), column types, indexes and foreign keys, migration rollback, seeders and factories, column modifiers (nullable, default, unique), migration squashing
Objectives
- Design database schemas using Laravel migrations
- Use seeders and factories for test data generation
Key concepts
- creating migrations
- schema builder
- column types
- indexes and foreign keys
- migration rollback
- seeders
- factories
- migration squashing
Eloquent Relationships
One-to-one, one-to-many, many-to-many, has-many-through, polymorphic relations, eager loading (with/load), lazy loading, N+1 problem, pivot tables, relationship counting, constraining eager loads, touching parent timestamps
Objectives
- Define and query Eloquent relationships correctly
- Prevent N+1 problems with eager loading strategies
Key concepts
- hasOne/hasMany
- belongsTo/belongsToMany
- has-many-through
- polymorphic relations
- eager loading
- N+1 problem
- pivot tables
- relationship querying
Validation
Validation rules, form request classes, custom validation rules, conditional validation, array validation, error messages, validating nested data, bail rule, after validation hooks, validation of API requests vs web requests
Objectives
- Implement comprehensive validation using form requests and custom rules
- Handle validation errors for both web and API contexts
Key concepts
- validation rules
- form requests
- custom rules
- conditional validation
- array validation
- error messages
- nested validation
- API vs web validation
5 · Laravel Advanced4 topics
Authentication
Laravel authentication scaffolding, guards, providers, Sanctum for API tokens, Passport for OAuth2, multi-auth, remember me, email verification, password reset, social authentication (Socialite), two-factor authentication
Objectives
- Implement authentication with Sanctum or Passport for different use cases
- Configure multi-guard authentication and social login
Key concepts
- guards and providers
- Sanctum API tokens
- Passport OAuth2
- multi-auth
- email verification
- password reset
- Socialite
- two-factor auth
Authorization
Gates and policies, defining abilities, authorizing actions in controllers, Blade authorization directives, policy auto-discovery, resource authorization, guest users, policy responses, middleware-based authorization, role-based access patterns
Objectives
- Implement fine-grained authorization with gates and policies
- Design role-based access control patterns in Laravel
Key concepts
- gates
- policies
- defining abilities
- authorizing in controllers
- Blade @can directives
- policy auto-discovery
- policy responses
- role-based access
Queues & Jobs
Queue drivers (Redis, SQS, database), creating jobs, dispatching jobs, job middleware, job chaining, batched jobs, rate limiting, failed jobs and retries, Horizon dashboard, queue workers and supervisord
Objectives
- Design asynchronous processing pipelines with Laravel queues
- Handle job failures, retries, and monitoring with Horizon
Key concepts
- queue drivers
- creating jobs
- dispatching patterns
- job middleware
- job chaining
- batched jobs
- failed job handling
- Horizon
Events & Listeners
Event classes, listener classes, event discovery, queued listeners, event subscribers, model observers, broadcasting events (Pusher, WebSocket), broadcast channels, private vs presence channels, event-driven architecture patterns
Objectives
- Build decoupled systems using Laravel events and listeners
- Implement real-time features with event broadcasting
Key concepts
- event classes
- listener classes
- event discovery
- queued listeners
- event subscribers
- model observers
- broadcasting
- channel authorization
6 · Production & Quality4 topics
Testing
PHPUnit in Laravel, feature tests vs unit tests, HTTP tests (get, post, assertStatus), database testing (RefreshDatabase, assertDatabaseHas), mocking and faking (Mail::fake, Queue::fake, Event::fake), browser tests with Dusk, test factories, testing API endpoints, test coverage strategies
Objectives
- Write comprehensive feature and unit tests for Laravel applications
- Use mocking, faking, and database assertions effectively
Key concepts
- feature vs unit tests
- HTTP test helpers
- database assertions
- mocking and faking
- test factories
- Dusk browser tests
- API testing
- test organization
API Development
API resources and resource collections, API versioning, JSON responses, pagination, rate limiting, API authentication (Sanctum tokens), CORS configuration, OpenAPI/Swagger documentation, RESTful best practices, API error handling, conditional attributes in resources
Objectives
- Build RESTful APIs with proper resource transformation and pagination
- Implement API versioning and authentication strategies
Key concepts
- API resources
- resource collections
- API versioning
- pagination
- rate limiting
- Sanctum tokens
- CORS
- RESTful design
Performance Optimization
Caching strategies (Redis, Memcached, file), query optimization, lazy collections, database indexing, config/route/view caching, OPcache, queue optimization, profiling with Telescope and Debugbar, CDN integration, response caching, database connection pooling
Objectives
- Implement caching strategies at multiple layers of a Laravel application
- Profile and optimize database queries and application performance
Key concepts
- caching strategies
- query optimization
- lazy collections
- database indexing
- config/route caching
- OPcache
- Telescope profiling
- response caching
Deployment & DevOps
Laravel Forge, Envoyer, Docker with Laravel Sail, environment configuration (.env), zero-downtime deployment, Nginx/Apache configuration, SSL/TLS, supervisor for queue workers, CI/CD pipelines, health checks, logging with Monolog, Laravel Vapor (serverless)
Objectives
- Deploy Laravel applications with zero-downtime strategies
- Configure production infrastructure including queues, caching, and monitoring
Key concepts
- Forge and Envoyer
- Docker and Sail
- environment configuration
- zero-downtime deployment
- web server configuration
- supervisor
- CI/CD pipelines
- Laravel Vapor
Levels: Junior, Mid, Senior, and Expert
Explain it in your own words
Graded by AI · no account · 1 questionNo options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.
Already studying PHP & Laravel?
The assessment measures topic by topic, and your plan skips what you already know.
Open to read. An account is only needed to be measured.
Frequently asked questions
Where should I start studying PHP & Laravel?
Start with PHP Fundamentals: PHP Syntax & Basics, Data Types & Type System, and Functions & Closures. The map orders topics by what they depend on, so each one prepares the next.
How long does a full PHP & Laravel assessment take?
A full assessment of this path takes about 45 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.
Do I need an account to use this page?
No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.