2017-08-10 32 views
1

我是新來的zend框架3,我試圖創建一個新的路由類型,可以在數據庫中搜索匹配路由路徑。我正在使用doctrine orm,不幸的是我不知道如何在路由類中注入實體管理器。訪問分區的ZF3路由

我試着定義一個工廠類,以便有權訪問服務管理器,但這不起作用,因爲路由類必須實現Zend \ Router \ Http \ RouteInterface,它聲明路由類必須包含它自己的工廠定義爲「功能工廠($ options)」。

任何人都可以請幫忙嗎?

非常感謝。

回答

0

在提問的方式中,您必須依靠zend-router的接口和抽象來編寫定製路由器策略。 例如。 ZF支持不同的router strategies以匹配URL(如同任何現代框架一樣),但您需要編寫自定義路由器策略來訪問數據庫並返回應執行的控制器/操作。

說實話,如果你是ZF3的新手,也許可以嘗試用稍不高級的方式解決問題。

其他解決方案,也許你可以創建動態路由器並通過URL_SLUG。 比你會有一個動作,你會檢查你應該從數據庫加載的URL_SLUG(或你選擇的任何其他ID)加載的內容。

+0

謝謝你的回覆,並對遲到的回覆感到抱歉。我需要路由器中的數據庫連接的原因是因爲SEO的目的,客戶端想要完全控制路由URL。我試圖覆蓋路由器類,但我無法讓它工作。我願意嘗試一種定製策略,但我沒有找到任何有關如何做到這一點的文檔。你能幫我一些鏈接或一些代碼片段?非常感謝你。 – Calin