Код IT
← Каталог

Объектно-ориентированное программирование в PHP — Трейты — повторное использование кода без наследования

Фрагмент из «Объектно-ориентированное программирование в PHP»: Трейты — повторное использование кода без наследования.

PHP main.php
trait Loggable {
    public function log(string $msg): void {
        error_log("[LOG] $msg");
    }
}

class Service {
    use Loggable;

    public function process(): void {
        $this->log("Начата обработка");
        // … основная логика
        $this->log("Обработка завершена");
    }
}
trait Loggable {
    public function log(string $msg): void {
        error_log("[LOG] $msg");
    }
}

class Service {
    use Loggable;

    public function process(): void {
        $this->log("Начата обработка");
        // … основная логика
        $this->log("Обработка завершена");
    }
}