/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/php/php-507-19-004/main.php
33 строки
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
<?php // Определение трейта с методом логирования trait Loggable { public function log(string $message): void { echo "[LOG] {$message}\n"; } } // Определение другого трейта с таким же именем метода trait Timestampable { public function log(string $message): void { echo "[TIMESTAMP] {$message} at " . date('Y-m-d H:i:s') . "\n"; } } // Класс, использующий оба трейта class OrderService { use Loggable, Timestampable { // Разрешаем конфликт: метод из Timestampable имеет приоритет Timestampable::log insteadof Loggable; // Или можно создать алиас для оригинального метода Loggable // Loggable::log as logClassic; } public function createOrder(): void { // Вызовется метод из Timestampable $this->log("Создание заказа..."); } } $service = new OrderService(); $service->createOrder(); // Вывод: [TIMESTAMP] Создание заказа... at ...