### 其他:具象状态传输
> Fat-Free的架构基于HTTP URI代表抽象Web资源(不限于HTML)并且每个资源可以从一个应用程序状态转移到另一个应用程序状态的概念。因此,F3对构建应用程序的方式没有任何限制。如果您喜欢使用模型 - 视图 - 控制器模式([Model-View-Controller](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)),F3可以帮助您划分您的应用程序组件以遵守此范例。另一方面,框架还支持资源 - 方法 - 表示模式[Resource-Method-Representation(http://www.peej.co.uk/articles/rmr-architecture.html)],并且实现它更直接。
以下是ReST界面的示例:
```
class Item {
function get() {}
function post() {}
function put() {}
function delete() {}
}
$f3=require('lib/base.php');
$f3->map('/cart/@item','Item');
$f3->run();
```
Fat-Free的`$f3->map()`方法通过将路由中的HTTP方法映射到对象或PHP类的等效方法来提供ReST接口。如果您的应用程序接收到`GET /cart/123`等传入HTTP请求,Fat-Free将自动将控件传输到对象或类`get()`方法。类似地,`POST /cart/123`请求将被路由到Item类的`post()`方法。
映射的方法可以使用PREMAP变量作为前缀。
**注意:** 浏览器不会在常规HTML表单中实现HTTP `PUT`和`DELETE`方法。这些和其他ReST方法(`HEAD`和`CONNECT`)只能通过对服务器的AJAX调用进行访问。然而,可以通过将`_method`参数设置为所需的HTTP动词来通过POST请求进行隧道传送。
如果框架接收到一个不由一个类实现的HTTP方法,它将生成一个HTTP 405方法不允许错误。F3自动使用适当的标头响应HTTP OPTIONS方法请求。框架不会将此请求映射到类。