2014-12-06 31 views
0

我使用KOhana 3.3框架與Doctrine 2 ORM,最後我開始研究授權。Kohana 3.3 Auth模塊使用非默認ORM

我讀了關於Auth模塊,但看起來Auth使用默認的kohana ORM來完成它的工作。 我無法在Auth的源代碼中找到任何使用ORM操作數據庫的代碼。你能幫我找到它嗎?

如果它實際上沒有使用ORM,也許我可以繼續使用Doctrine?

回答

0

驗證模塊本身不使用ORM。它實際上是覆蓋Auth類的ORM模塊。這很有意義,因爲您可以在沒有ORM模塊的情況下啓用Auth。理想情況下,這是你想要的情況。你應該禁用Kohana ORM模塊,所以它不會干擾Doctrine ORM。然後使用一個模塊將Doctrine整合到Kohana中。你可以自己創建一個,或者有一些已經可用。 e.g:

https://github.com/ingenerator/kohana-doctrine2 https://github.com/stegeman/kohana-doctrine

如果你想保持啓用Kohana的ORM那麼這裏是你如何利用它爲身份驗證功能的一些原因。在ORM模塊中,Kohana_Auth_ORM類擴展了Auth模塊的Auth類。因此,如果您覆蓋應用程序或模塊文件夾中的Auth_ORM類,則可以使用您的Doctrine等效項替換Auth函數。

+0

當然,一旦你已經整合了Doctrine,並且如果你沒有啓用Kohana ORM,你可以通過重寫Auth類直接覆蓋auth – ljelewis 2014-12-10 14:07:33