我想知道,我现在修复了较旧的Web应用程序,而且我经常偶然发现同样的问题,我无法找到解决方案。
Javascript应用程序通常从其他来源获取数据。在我的情况下,它的PHP。那些Javascript应用程序期望以某种方式提供给他们的数据,如果他们不以特定方式获取数据,则会发生错误并且应用程序会中断。
这可能很难调试,因为如果有人决定编辑php函数,例如提供该数据,他们通常不会从现代IDE获得任何提示,数据可能以错误的方式返回。
有没有办法在php和javascript之间建立一个接口,以便它们都需要遵守它?就像一个php界面。
我也知道当你使用typescript时,你可以为javascript应用程序创建一个接口。然后你可以为php创建相同类型的界面。
答案 0 :(得分:1)
正如其他人所暗示的那样,您在这里寻找的是架构,它指定了输入和输出的格式;以及更广泛的合同,以URL,方法名称等形式指定操作。
对于XML,很可能使用XML Schema或RelaxNG指定模式;对于JSON,有JSON Schema和其他可能的。
更广泛的合同会因API的风格而有很大差异。 WSDL文件通常用于定义SOAP API(这只是XML-over-HTTP的特定约定),Swagger和OpenAPI等工具可以指定REST样式的API,通常使用JSON。
然后,所有这些都可以被提供给工具,这些工具可以自动生成您的实现符合其合同的测试,以及文档等。这些测试和文档实际上是您的目标:对于具有大量AJAX调用的遗留网站不要形成一个连贯的API,最好的起点可能是一系列单元测试,可以确认相同的输入在您进行更改后提供相同的输出。
答案 1 :(得分:0)