Сделайте класс App, пропишите ему необходимые свойства.
Если реализация объекта может быть вариативной, напишите интерфейсы.
interface ICache {
public function method1();
}
class App {
public ?ICache $cache = null;
}
class FileCache implements ICache {
public function method1() {
echo '1';
}
}
$app = new App();
$app->cache = new FileCache();
И будут у вас нормальные подсказки. И определенность в коде.