Я планирую создать API с базой Laravel. И может быть несколько версий API, если я продолжу его разработку, например: v1
, v2
, v3
и т.д.
И вместо того, чтобы иметь только одну копию структуры Laravel и версию API внутри нее, создавая разные каталоги для каждой версии, я собираюсь создать полностью отдельную копию структуры Laravel для каждой версии API.
Например, предположим, что это URL-адрес API: website.com/api
, я собираюсь создать каталог под v1
внутри каталога api
и поместить в него полную копию Laravel. И позже, когда мне нужно создать новую версию API, я создам еще один новый каталог под названием v2
рядом с v1
и поставлю в него новую полную и отдельную копию Laravel и т.д.
Таким образом, когда я хочу получить доступ к версии 1 API, я получаю доступ к этому URL-адресу: website.com/api/v1
, и когда я хочу получить доступ к версии 2, я получаю доступ к website.com/api/v2
.
Мой вопрос: Это плохая идея? И каков недостаток этого подхода?
Edit:
Почему я подумал об этом?
Потому что я думал о следующих моментах:
- Что, если я когда-нибудь захочу создать новую версию API с фреймворком PHP, отличным от Laravel.
- Что, если я захочу, когда-нибудь создать новую версию API с языком программирования, отличным от PHP.
- Что делать, если я когда-нибудь захочу перейти на более новую версию Laravel, и эта версия имеет значительные изменения в версии, изначально созданной API.