我打算用 Laravel 框架创建一个 API。如果我继续开发它,可能会有多个版本的 API,例如:、、、v1
等等。v2
v3
而不是只有一个 Laravel 框架副本并通过为每个版本创建不同的目录来对其中的 API 进行版本控制,我正在考虑为每个版本的 API 创建一个完全独立的 Laravel 框架副本。
例如,假设这是 API 的 URL: website.com/api
,我正在考虑v1
在该目录中创建一个名为的api
目录,并将 Laravel 的完整副本放入其中。稍后当我需要创建新版本的 API 时,我会创建另一个名为v2
beside的新目录,v1
并在其中放置一个新的完整且独立的 Laravel 副本,依此类推。
这样,当我想访问 API 的版本 1 时,我将访问这个 URL:website.com/api/v1
而当我想访问版本 2 时,我将访问website.com/api/v2
.
我的问题:这是一个坏主意吗?这种方法的缺点是什么?
编辑:
为什么我会想到这种方法?
因为我想到了以下几点:
- 如果有一天我想用 Laravel 以外的 PHP 框架创建 API 的新版本,该怎么办?
- 如果有一天我想用 PHP 以外的编程语言创建 API 的新版本,该怎么办?
- 如果有一天我想升级到更新版本的 Laravel,并且该版本对最初创建 API 的版本有重大更改,该怎么办。