Skip to main content

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.

6
modules
24
topics
45
min to assess

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 question

No options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.

0 / 600

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.