Hej, zabrałem się za uniwersalne API bo często pojawia się potrzeba postawienia nowego więc chcę ten proces uprościć i zautomatyzować. Każde API może zawierać kilka różnych, niezależnych od siebie wersji i to stało się moim problemem. Dołączam diagram jak to wygląda u mnie w tej chwili i jak chciałbym to zachować.

Chciałbym współdzielić obiekt klasy Request pomiędzy klasami po prawej stronie, potrzebuję informacji o wersji API wyciąganej z PATH INFO (robi to klasa Request) np. w klasie obsługującej config. W tej chwili jest to klasa ze statycznymi metodami ładującymi odpowiedni plik z katalogu (uwzględniająca wersję podaną w adresie zapytania, ustawiająca ją po przekazaniu do tej klasy $_SERVER w index.php) i zwracająca żądaną wartość. Jak już to zostanie osiągnięte to chciałbym mieć pełną, swobodną wymianę danych pomiędzy klasami po prawej, a plikami aplikacji po lewej stronie (szara, przerywana linia). Jakieś wskazówki w którym kierunku iść?



PS. na diagramie jest babol, ostatnia chmurka po lewej (niebieski kolor) powinna mieć V3 jako kolejna wersja.. Szukałem pomocy na FB, ale poza uwagami pobocznymi nic konkretnego nie otrzymałem.

Dorzucam linki do dwóch repozytoriów:
- API SERVER (https://bitbucket.org/kilab/api-server) - Część po lewej stronie wykresu
- API (https://bitbucket.org/kilab/api) - Część po prawej stronie wykresu