2013-01-21 66 views

回答

2

不,您不能像應用視圖文件一樣覆蓋應用中的任何插件類文件。只需製作插件的副本並修改所需的類文件即可。

+0

該解決方案是不是太靈活。如果我在插件中有我的核心文件,只需簡單地覆蓋應用程序中的必要文​​件即可非常方便。我希望有一種方法可以做到這一點。例如,我真的很喜歡Kohana或Symfony 2的解決方案。我希望CakePHP中也有解決方案... – igoemon

+0

覆蓋將忽略這些方法(除非您通過在覆蓋中調用Parent ::方法來擴展它們)。所以,如果你打算重寫這些方法,爲什麼不改變代碼來做你期望的。對於我試圖通過壓倒性的複雜性來說,似乎更容易。 –

+3

因爲如果我可以在沒有任何修改的情況下在項目中共享插件級別的東西,我可以非常實用,並且我可以僅在當前項目的應用程序目錄(如有必要)中覆蓋事物(模型,視圖,控制器等)。在這種情況下,我不需要觸摸插件。 – igoemon

5

您可以覆蓋和擴展插件視圖modeld和控制器。在下面的鏈接中有一個很好的例子。

https://github.com/CakeDC/users#how-to-extend-the-plugin

基本上這是總結...在你的模型,你需要這樣聲明。

App::uses('UsersController', 'Users.Controller');

class AppUsersController extends UsersController {

}