请教:关于移动app后端接口多版本的策略
因为项目中需要控制多个版本的接口同时提供给多个版本客户端的情况,所以一直对接口版本的策略心存疑问。请教一下大家如何实现的呢?
后端语言:php
目前我能想到的实现方式:
1,单一目录,接口内部判断 (很恶心,很容易造成混乱)
2,每版本就拖出一个版本目录,可以随心所欲的修改某个版本的接口,但是如果有一个接口逻辑要修改的话,可能涉及全部版本里的文件,比如1.0,2.0,3.0,4.0.。。。很变态的方式
3,建立一个基础版本,利用autoload的规则,如果版本目录下有,则用版本目录里的类,没有的话去用基础版本里的类。好处是各个版本目录里,只存在变动了的文件。但是在开发中,依旧感觉拖沓。
4,利用继承,版本里的类重写基础版本里的类方法,好处是只需要重写一个方法,但是坏处是考虑到私有方法的问题。
希望有其他的方法可以更好的管理多个版本的问题。
多谢
回复内容:
因为项目中需要控制多个版本的接口同时提供给多个版本客户端的情况,所以一直对接口版本的策略心存疑问。请教一下大家如何实现的呢?
后端语言:php
目前我能想到的实现方式:
1,单一目录,接口内部判断 (很恶心,很容易造成混乱)
2,每版本就拖出一个版本目录,可以随心所欲的修改某个版本的接口,但是如果有一个接口逻辑要修改的话,可能涉及全部版本里的文件,比如1.0,2.0,3.0,4.0.。。。很变态的方式
3,建立一个基础版本,利用autoload的规则,如果版本目录下有,则用版本目录里的类,没有的话去用基础版本里的类。好处是各个版本目录里,只存在变动了的文件。但是在开发中,依旧感觉拖沓。
4,利用继承,版本里的类重写基础版本里的类方法,好处是只需要重写一个方法,但是坏处是考虑到私有方法的问题。
希望有其他的方法可以更好的管理多个版本的问题。
多谢
http://ningandjiao.iteye.com/blog/1990004
来个老师帮解答一下吧

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
