В PHP нет прямого аналога Go embedding. Ближайший механизм - трейты и делегирование:
// Трейт - встраивание поведения
trait HasTimestamps {
public DateTime $createdAt;
public DateTime $updatedAt;
}
class User {
use HasTimestamps; // "встраивает" свойства и методы
}
// Делегирование (composition)
class UserService {
public function __construct(
private UserRepository $repo, // композиция
) {}
public function find(int $id): User {
return $this->repo->find($id); // делегируем
}
}В Go embedding автоматически проксирует методы; в PHP нужно явно делегировать или использовать __call().