PHP and Laravel course

Professional training for backend and full-stack developers

Professional training course on PHP and Laravel, aimed at developers with experience in web application development who want to learn how to design and build structured, maintainable Laravel applications, or to consolidate the knowledge of a team that already uses the framework.

The course can be delivered in either Italian or English, and can be held either in person or remotely.

Taking part in the course requires good programming skills and a basic knowledge of PHP; access to a computer with Docker installed is also required.

The planned modules, each lasting half a day (4 hours), are as follows:

  • Modern PHP refresher (optional)
    • Type declarations for parameters, properties, and return values;
    • Enums;
    • readonly properties and classes;
    • Named arguments;
    • match expression;
    • Attributes;
    • Composer, autoloading, and PSR standards;
  • Introduction to Laravel
    • Structure of a Laravel project;
    • Development environment with Docker and Laravel Sail;
    • Configuration and environment variables;
    • Artisan;
    • Service Container and Service Providers;
  • Routing and Controllers
    • Routes and route groups;
    • Middleware;
    • Controllers;
    • Form Requests and input validation;
    • API Resources;
  • Eloquent (part one)
    • Migrations;
    • Models;
    • Query Builder;
    • Relationships;
  • Eloquent (part two)
    • Eager loading and the N+1 problem;
    • Scopes and casts;
    • Factories and seeders;
    • Transactions;
  • Application architecture
    • Thin controllers;
    • Actions: one class for each business operation;
    • DTOs with Laravel Data;
    • Events and listeners;
    • Handling domain errors;
  • Authentication and authorization
    • Authentication with Fortify and Sanctum;
    • Policies and Gates;
    • Two-factor authentication;
  • Queues, jobs, and scheduling
    • Queues and jobs;
    • Failure handling and retries;
    • Task Scheduling;
    • Notifications and sending emails;
  • APIs and frontend
    • REST APIs and OpenAPI documentation;
    • Inertia with React;
    • Generating TypeScript types from DTOs;
  • Testing
    • Feature tests and unit tests with Pest;
    • Test database;
    • Fakes for queues, events, emails, and external services;

During the modules, preparatory exercises will be provided for learning the topics covered.