[英]Nesting controllers in Zend Framework
我正在構建一個Zend Framework應用程序,並創建了一些與數據庫表相對應的控制器,並包含用於在這些表上執行CRUD操作的方法。
我剛剛開始使用Companies
控制器,其中包含用於添加,編輯和刪除公司的方法。 為此,我們可以使用傳統的controller/action
URL模式:
http://example.com/companies/add
http://example.com/companies/edit/some-company
問題在於,對於每個Company
我們還需要管理其Contacts
和Machines
:
http://example.com/companies/some-company/machines/add
http://example.com/companies/another-company/contacts/edit/some-contact
我只是無法理解如何在Zend Framework中進行管理。 我應該通過路由“嵌套”控制器,還是應該使用模塊? 任何幫助將不勝感激。
您可以輕松編寫自定義路由來處理此問題。 例如,這:
http://example.com/companies/some-company/machines/add
會變成您的.ini文件:
routes.machine.route = "companies/:companyname/machines/:action"
routes.machine.defaults.controller = machines
routes.machine.defaults.action = index
這將鏈接指向machines
控制器,並將companyname
為GET-VAR。
您可以輕松更改此設置以適合您喜歡的任何形式。
使用zend Framework默認路由器時,您的網址無效。 此鏈接必須有效:
http://example.com/companies/add
http://example.com/companies/edit/id/some-company
http://example.com/companies/addmachines/id/some-company//
http://example.com/companies/contacts/mod/edit/companyid/another-company/
格式:
http://yoursite.com/Module(if available)/Controller/Action/param1/val1/param2/val2/?param3=val3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.