在Silverstripe至少存在四種方式來引導控制器以正確的行動:差異betweeen控制器:: handleAction(),控制器::的handleRequest(),控制器:: allowed_actions和控制器:: url_handlers
Controller::handleAction()
Controller::handleRequest()
Controller::allowed_actions
Controller::url_handlers
我理解Controller::allowed_actions
和Controller::handleAction()
的概念: 我可以使用它們來定義執行哪個動作。然後,url_handlers
陣列似乎用於向控制器添加更多規則。
所以什麼時候應該使用我的控制器上的哪個數組/函數?我應該何時使用Controller::handleRequest()
以及如何使用此功能?使用不同的方法有什麼區別?
到目前爲止,我讀了很多關於這個話題,但每個崗位只提上述可能性之一,該方法是永遠不會比...
下面是文章列表我已經找到:
- maetl: Undocumenting PHP: URL Handling in SilverStripe
- Silverstripe Docs: Controller
- SSBits: Controllers instead of Pages
- SSBits: DataObjects as Pages Part 1
- SSBits: DataObjects as Pages Part 2