PESCMS在RESTful风格上,设计了4个状态:GET, POST, PUT, DELETE。简称:GPPD。

GET:用于读取数据,输出数据POST:用于插入数据PUT:用于更新数据DELETE:用于删除数据

  • 发表于 2018-05-14

对于GPPD的使用,本章仅作简单的说明,具体请阅读后面关于《》的一章

  • 显式参数

显式参数则以GET参数的形式访问,其关键词为:method(不区分大小写)

  • 隐式表单

隐式表单即在表单中存放一个隐藏域,再提交表单时,告知程序本次请求的类型

  1. <form action="signup" method="POST"> <!--此处method仅用作声明表单以POST还是GET的请求-->
  2. <input type="hidden" name="method" value="PUT" /> <!--将method作为一个隐藏域,并赋予该值为PUT,即表单提交时,声明为PUT请求-->

注:在隐式提交时,若您的请求为GET/POST时,您可以直接不填写隐藏域。因为当程序判断$_REQUEST['method']为空时,会从$_SERVER['REQUEST_METHOD']中提起请求类型。

公式:$_REQUEST['method'] ? $_REQUEST['method'] : $_SERVER['REQUEST_METHOD']

在日常的开发过程中,请遵照4个状态进行设置访问请求,以节省方法定位的时间和细化流程。下面列出PESCMS的开发命名规则(文档示例假定控制器存放于 /App/Home/ 目录下):

如获取产品列表/信息,编辑产品,搜索产品(发起GET状态),控制器访问地址则为: /Home/Product/index 、/Home/Product/action、 /Home/Product/listAction 或者 /Home/Product/searchAction. 具体实现代码如下:

文件 /App/Home/GET/Product.class.php

文件 /App/Home/POST/Product.class.php

提交添加新产品请求(发起POST状态),控制器访问地址则为: /Home/Product/action。具体实现代码如下:

  1. <?php
  2. namespace App\Home\POST
  3. class Product extends \Core\Controller\Controller {
  4.  
  5. /**
  6. * action 添加新产品信息
  7. */
  8. public function action(){
  9. /**
  10. * 具体添加/编辑的实现代码
  11. */
  12. }
  13. }

文件 /App/Home/PUT/Product.class.php

提交更新产品的请求(发起PUT状态),控制器访问地址则为: /Home/Product/action。具体实现代码如下:

文件 /App/Home/DELETE/Product.class.php

  1. <?php
  2. namespace App\Home\DELETE
  3. class Product extends \Core\Controller\Controller {
  4.  
  5. /**
  6. * action 删除指定产品
  7. */
  8. public function action(){
  9. /**
  10. * 具体添加/编辑的实现代码
  11. */
  12. }
  13. }