Uczymy się wykorzystywać spl_autoload_register – łatwy mechanizm automatycznego ładowania klas idealny do małych i średnich projektów. Do dzieła.

Na początku tworzymy folder src, w nim plik Person.php i piszemy klasę:

<?php 

class Person {

    public function __construct(
        public $name, 
        public $age)
        {}

    public function __toString()
    {
        return "Class: " . get_class() . " Name: $this->name, Age: $this->age";
    }

}

Zasada jest taka – klasy lądują w folderze src. Każdy plik – inna klasa. Nazwa pliku – nazwa klasy + php.

Teraz w folderze głównym, zawierającym src, piszemy następujący kod:

<?php
spl_autoload_register(function($className){
    include 'src/'.$className . '.php';
});

$person = new Person("John", 22);
echo $person;

Dzięki temu nasze klasy są ładowane automatycznie. Dobre rozwiązanie do małych i umiarkowanie średnich projektów.

Do większych projektów będziemy musieli wykorzystać composera i jego autoload, co niedługo nauczymy się robić.