2013-03-17 97 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