2013-05-20 31 views
1

我想基於fatfreeFatFree如何路由restfull電話?

目錄樹建立一個RESTful API應用程序:

├── config.ini 
├── index.php 
├── lib 
├── operator 
│   ├── logs 
│   ├── models 
│   └── resources 
│    └── Employee.php 
└── ui 

config.ini文件:

[globals] 
DEBUG=3 
UI=ui/ 
AUTOLOAD=operator/resources 

的index.php:

<?php 
$f3=require('lib/base.php'); 
$f3->config('config.ini'); 

//$f3->map('/employee/','operator/resources/Employee'); 

$f3->route('GET /employee','opertaor\resource\Employee->get'); 

$f3->run(); 

我更喜歡使用地圖,但它也不起作用。 ???

我可以使用$ f3-> route('GET/employee','Employee-> get');因爲員工是自動加載的?

Employee.php:

<?php 
class Employee{ 
    function get() {echo View::instance()->render('welcome.htm');} 
    function post() {} 
    function put() {} 
    function delete() {} 
} 

錯誤:

var/www/kinder/lib/base.php:1141 Base->call('operato/resources/Employee->get' 
.... 
.... 
var/www/kinder/index.php:10 Base->run() 
+0

在這種情況下發布的堆棧跟蹤並不真正有用。要麼發佈完整的堆棧跟蹤,要麼發佈它上面的一行,因爲它表示「真實」錯誤。除此之外,您不必爲獲取函數設置路由,因爲它已包含在您已經完成的map()中。 – sascha

+0

我想你正在使用錯誤的斜槓......它必須是$ f3-> map('/ employee /','operator \ resources \ Employee');而員工應該位於operator \ resources命名空間中。 – ikkez

回答

1

那麼這是錯誤的斜線,但AUTOLOAD斜線。
自動加載路徑應以斜槓結尾。
之後,你可以引用沒有路徑的類。

AUTOLOAD = operator/resources/
$ f3-> map('/ employee','Employee');

謝謝