我最近寫了一篇關於request forwarding in Silex的文章,它使用博客示例來解釋Silex中的子請求。Silex:路由變量賦值問題
我對域控制器使用此示例的稍微修改後的版本。 域端點的路徑= /產品/域
域也可以附加一個虛擬主機軟件包。 此端點的url路徑爲/ product/domain /(id)/ webhosting/
您可以使用url路徑獲取有關webhosting包的信息。 此端點的url路徑爲/ product/domain /(id)/ webhosting /(id)
要處理這些子請求,我有一個名爲forwardRequest的方法,它的方法簽名中沒有參數,但使用func_get_args來保持它的動態。
不幸的是,這不起作用,因爲Silex使用路線中的命名參數來調用您的方法。所以如果你有/ product/domain/domain_id/webhosting/webhosting_id,你的方法應該有方法的簽名($ domain_id,$ webhosting_id),如果你想通過一種方法轉發多個端點,這是一個PITA。如果您有其他/產品/域/ domain_id/emailhosting和/ product/domain/domain_id/dns端點,則必須爲每個轉發請求創建一個方法。
有沒有人有一個解決方案,我可以只使用1方法轉發所有這些子請求?
注意:我使用PHP 5.3。
謝謝,這個例子指出我在正確的方向,並幫助解決我的問題。 –