下载源码包:

http://www.slimframework.com/

基于Slim的Restful API Sample:

  1. <?php
  2. require '/darjuan/Slim/Slim.php';
  3. use \Slim\Slim as Slim;
  4.  
  5. Slim::registerAutoloader();
  6.  
  7. $app = new Slim(array(
  8. 'debug'=>true,
  9. 'templates.path' => './templates'
  10. ));
  11.  
  12. class BookServiceImpl
  13. {
  14. function get_books_list()
  15. {
  16. $books = array();
  17. for ($i=0; $i < 10; $i++) {
  18. $book =array('sku_no'=>'9SI0000'.$i,'book_name'=>'php learning');
  19. $books[$i] = $book;
  20. }
  21. return $books;
  22. }
  23. }
  24.  
  25. class APIResponse
  26. {
  27. public function show($code,$msg,$data)
  28. {
  29. header('Content-Type:application/json');
  30.  
  31. $response = array(
  32. 'code'=>$code,
  33. 'message'=>$msg,
  34. 'data'=>$data
  35. );
  36.  
  37. echo json_encode($response);
  38. }
  39. }
  40.  
  41. $app->get('/books',function(){
  42. $books = BookServiceImpl::get_books_list();
  43. APIResponse::show('200','返回成功',$books);
  44. });
  45.  
  46. $app->get('/books/:id',function($id){
  47. $books = BookServiceImpl::get_books_list();
  48. try {
  49. $book = $books[$id];
  50. } catch (Exception $e) {
  51. $book = null;
  52. }
  53.  
  54. if(empty($book))
  55. {
  56. APIResponse::show('404','资源不存在',$book);
  57. return;
  58. }
  59.  
  60. APIResponse::show('200','返回成功',$book);
  61. });
  62.  
  63. $app->delete('/books/:id',function($id){
  64. $books = BookServiceImpl::get_books_list();
  65. unset($books[$id]);
  66. APIResponse::show('200','返回成功',$books);
  67. });
  68.  
  69. $app->run();

Slim - 超轻量级PHP Restful API构建框架的更多相关文章

  1. Java Fluent Restful API自动化测试框架

    这是一个Restful API自动化测试框架,这是一个能让你写出高可读性测试代码的测试框架! 项目目标 话说目前行业内,Restful API自动化测试框架已经不是稀罕物了,各个语言都有自己的实现机制 ...

  2. Spring Boot & Restful API 构建实战!

    作者:liuxiaopeng https://www.cnblogs.com/paddix/p/8215245.html 在现在的开发流程中,为了最大程度实现前后端的分离,通常后端接口只提供数据接口, ...

  3. 深入理解 RESTful Api 架构

    转自https://mengkang.net/620.html 一些常见的误解 不要以为 RESTful Api  就是设计得像便于 SEO 的伪静态,例如一个 Api 的 URL 类似于 http: ...

  4. RESTful Api 身份认证安全性设计

    REST是一种软件架构风格.RESTful Api 是基于 HTTP 协议的 Api,是无状态传输.它的核心是将所有的 Api 都理解为一个网络资源.将所有的客户端和服务器的状态转移(动作)封装到 H ...

  5. Laravel 中使用 JWT 认证的 Restful API

    Laravel 中使用 JWT 认证的 Restful API 5天前/  678 /  3 / 更新于 3天前     在此文章中,我们将学习如何使用 JWT 身份验证在 Laravel 中构建 r ...

  6. OpenStack Restful API框架介绍

    1  pecan框架介绍 1.1  什么是pecan pecan是一个轻量级的python web框架,最主要的特点是提供了简单的配置即可创建一个wsgi对象并提供了基于对象的路由方式. 主要提供的功 ...

  7. Spring Boot中使用Swagger2构建强大的RESTful API文档

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...

  8. Spring MVC 中使用 Swagger2 构建动态 RESTful API

    当多终端(WEB/移动端)需要公用业务逻辑时,一般会构建 RESTful 风格的服务提供给多终端使用. 为了减少与对应终端开发团队频繁沟通成本,刚开始我们会创建一份 RESTful API 文档来记录 ...

  9. springboot集成swagger2,构建优雅的Restful API

    swagger,中文“拽”的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容易构建restful风格的api,简单优雅 ...

随机推荐

  1. 新浪SAE URLRewrite(伪静态、重定向)详解

    SAE全称Sina App Engine,真是一个好东西,他有很多优秀的特性,简单来说SAE就是一个简单高效的分布式Web服务开发.运行平台.支持现在常用的 PHP+Mysql 环境,在开发中难免会碰 ...

  2. 从PC跳转至wap

    <script language="JavaScript">function mobile_device_detect(url){var thisOS=navigato ...

  3. [笔记]--Sublime Text 2使用技巧

    Sublime个人喜好设置: 在打开个人设置页面Preferences >> Settings - User,加入以下内容: { , //TAB键,4个空格 "translate ...

  4. WPF socket通讯 UDP接收消息

    客户端: private Socket socket; private IPEndPoint ipEndPoint; private void sendMessageHandler() { //服务端 ...

  5. 刀哥多线程Barrier异步gcd-08-barrier_async

    Barrier 异步 主要用于在多个异步操作完成之后,统一对非线程安全的对象进行更新 适合于大规模的 I/O 操作 代码演练 准备工作 @interface ViewController () { / ...

  6. 使用 libevent 和 libev 提高网络应用性能——I/O模型演进变化史

    构建现代的服务器应用程序需要以某种方法同时接收数百.数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作. 有许多解决方案,但事件驱动也被广泛应用到网络编程中.并大规模部署在高 ...

  7. 微信支付开发,再次签名,APP调用

    1.商户服务器生成支付订单,先调用[统一下单API]生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付. 再次生成签名的时候,按照接口: https://pay.weixin.q ...

  8. EChart 关于图标控件的简单实用

    1.下载前段框架并放入项目中去. 2.在js中调用 <!DOCTYPE html> <html lang="en"> <head> <me ...

  9. chkconfig 命令详解

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--a ...

  10. Android--WebView的一些配置项

    //打开页面时,自适应屏幕 wv_showWeb_webActivity.getSettings().setUseWideViewPort(true);//设置此属性可以任意比例缩放 wv_showW ...