簡體   English   中英

Zend Framework中的嵌套控制器

[英]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我們還需要管理其ContactsMachines

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM