Dobre IDE podpowie, że typ się zmienił, a Storm używa phpDoca do podpowiadania, tylko mnie rażą te nazwy typów UpperCasem.
No ale skoro może spowalniać to poco wgl ja trzymać jako opcje?
Cytat
Do tego throw Exception() przy użyciu namespace może wyrzucać błąd nieznalezienia klasy.
Nawet nie może tylko wyrzuci

komentarze to nie
/**
*
*
*/
tylko
/**
*
*
*/
No i czemu taka archaiczna konwencja nazewnictwa?
Gdzie PSR
Nazywaj jakoś sensownie te commity

Z ścieżki i innych zrobiłbym VO, bo czemu klasa cache ma za to odpowiadać, czy one są poprawne, jak to nie jej rola.
I poco ustawiać wartości domyślne, parametrom którym wymuszasz ich zmianę?
Zaraz, ja muszę stworzyć sobie plik żeby do niego pisać?
poza tym else to zło, naprawdę nie można było
throw new \Exception('bla bla');
}
$this->path = $path;
Btw treść commita to nie komentarz, bo wpisujesz tam to co ma znaczenie i utrudniasz sobie i innym czytanie commitów

No i nazywaj te parametry tak żeby mówiły co robią, a nie np $compress - co sugeruje że coś jest skompresowane a nie wskazuje na flage itp
Skoro używasz dobrodziejstw php 7 to poco sprawdzać isset($compress) && $compress

bool to zawsze bool
zrób sobie jakaś metodę do budowania właściwej ścieżki, bo tak ciężko to testować/refaktorwać potem
Zrobiłem Ci pull requesta, bo za dużo tego było