Takim najpopularniejszym rozwiązaniem jest dependency injection. W Twoim przykładzie instancję klasy TestHeaders przekazałbyś jako argument w konstruktorze TestEnvironment:
<?php
class TestEnvironment
{
public TestHeaders $headers;
public function __construct(TestHeaders $headers)
{
$this->headers = $headers;
}
}
Swoją drogą, $headers raczej powinno być własnością prywatną (w innym razie DI nie ma za bardzo sensu, bo można sobie w każdej chwili nadpisać $headers).