Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung PHP-Tutorial restful - 关于PHP的API问题

restful - 关于PHP的API问题

Jun 06, 2016 pm 08:10 PM
php restful

作为菜鸟程序猿,之前写的代码都是混合代码,垃圾代码的一类,刚刚接触到前后端完全分离的写法,主要是API接口。所以想问问各位大牛,各位在做项目的时候是如何前后端分离开发?如何在项目中使用restfulAPI的?PHP给前台,IOS,安卓的接口有啥不一样?希望能有体系的给我讲一讲,感谢各位

回复内容:

作为菜鸟程序猿,之前写的代码都是混合代码,垃圾代码的一类,刚刚接触到前后端完全分离的写法,主要是API接口。所以想问问各位大牛,各位在做项目的时候是如何前后端分离开发?如何在项目中使用restfulAPI的?PHP给前台,IOS,安卓的接口有啥不一样?希望能有体系的给我讲一讲,感谢各位

第一个你问的是api的设计问题,看团队情况,模块清晰,能快速使用即可。
第二个你问的是浏览器前端和手机app的区别。有以下3点:

  1. 浏览器相对来说,一般情况下,没有版本兼容问题。而给app的你需要考虑,api的版本处理,如何进行路由。(至少app需要给你一个版本号)

  2. 你需要和app定义好统一的数据格式,例如经典的

<code>{
    "code" : "状态码",
    "msg" : "信息",
    "data" : {
    }
}</code>
Nach dem Login kopieren
  1. app接口的权限验证不一样,我的建议是走https请求,然后自己实现一套类似于浏览器的session机制

例如,我最近写的认证基于用户授权的app接口认证

如果是纯接口,我以前给web,APP的接口内容都一样,都用json,无论APP和web,都能自己解析json

不考虑安全的话,直接用json就够了。

前后端分离无非是前端和后端各写各的毫无依赖,唯一联系就是预先根据功能定好的API接口
既然是前后无依赖,那么web和mobile调用的接口自然可以统一

输出json,看需求是否要加密接口

http://doc.thinkphp.cn/manual/rest_intro.html
以上是thinkphp REST API的声明与编写方法,这是很基础的方案,对于一般的项目来说已足够。

而完整的WEBAPI除了能提供数据之外,认证与权限资源管理都是相当重要的。而目前数据中心能力较强的系统(如drupal8, magento2等)都已经有完善WEBAPI功能与数据后台,所以也是可以考虑使用这些开源系统作为后端数据中心,会省不少开发时间。

Smarty模版引擎

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles