### 其他:具象狀態傳輸
> 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方法請求。框架不會將此請求映射到類。