2013-03-17 94 views
0

我對使用可選參數和phpdocs有點困惑。 我得到了以下@url聲明:restler 3中的保留字?

@url GET /pruefvorschrift/:typs 

現在要設置:typs作爲可選的,所以我做

function getpruefvorschrift ($typs=null) {... 

這個isn't工作,爲值:typs從來沒有在$ typs可用。 如果我更改上述@ url路由以使用其他詞,例如:它的工作原理?

我不明白,任何人都可以幫忙嗎?

爲了完整性: 我有很多功能,在這個文件中

get /device.json/{id} 

get /device/pruefvorschrift/:typs.json 

get /device/serial.json/{serial} 

get /device/:id/merkmale.json 

希望有能幫上忙,

THX 英格

回答

0

參數名是不是問題就在這裏!

使用可選參數的URL是強烈反對

通過爲$設置默認值typs你正在使可選

這意味着我們需要爲同樣的API方法

創建兩條路線的一部分
GET /device/pruefvorschrift/{typs} 

而且

GET /device/pruefvorschrift 

默認情況下將牛逼restler 3不這樣做,那裏的restler 2默認完成它

您可以添加以下到PHPDoc的評論來改變這種行爲

/** 
* @smart-auto-routing false 
*/ 
function getpruefvorschrift ($typs=null) { 

但請記住,這可能會阻住的另一路線,在http://restler3.luracast.com/examples/_006_routing/readme.htmlhttps://github.com/Luracast/Restler/issues/10

+0

進一步閱讀Thx。竅門:) – Inge 2013-03-19 06:33:22

+0

還有一個問題。如果你說可選參數強烈不鼓勵你如何解決它? Thx爲您的提示 – Inge 2013-03-20 06:22:43

+0

可選參數?使用查詢字符串,所需的參數簡單類型(字符串,數字等)?把它放在url中,複雜的類型(數組或對象)如果使用http GET或DELETE的唯一方式是查詢字符串,否則通過BODY發送它 – Luracast 2013-03-20 08:23:48