我需要重寫一些yii核心文件 - 特別是CGridColumn.php和CController.php。我需要確保在我的應用程序中引用這些類,而不是它們覆蓋或擴展的核心文件。我該怎麼做呢?這很簡單,但我似乎無法找到一個記錄「正確」的方式來做到這一點。Yii - 如何覆蓋/擴展核心文件
1
A
回答
5
如果你想擴展主控制器:
在你的保護/組件目錄中創建Controller.php這樣:
class Controller extends CController { public $newProperty; public function newMethod() { ... } }
確保Controller.php這樣被導入到config:
'import' => array( ... 'application.components.Controller', ... ),
從控制器擴展您的控制器,而不是CCo ntroller:
class ExampleController extends Controller { ... }
如果你想擴展CGridColumn,步驟1和2是相同的,但在你的自定義類不要忘了進口原裝類:
Yii::import('zii.widgets.grid.CGridColumn');
class TestColumn extends CGridColumn
{
...
}
然後只是用它在列陣列CGridView的
'columns' => array(
array(
'class' => 'TestColumn',
),
),
2
擴展通用類,以便更好地定製化
http://www.yiiframework.com/wiki/121/extending-common-classes-to-allow-better-customization/
+0
謝謝Ganesh,我不知道我錯過了那篇文章。 – siliconrockstar
相關問題
- 1. 覆蓋/擴展Magento核心JavaScript文件
- 2. 如何覆蓋Yii核心功能?
- 3. Magento。覆蓋核心文件
- 4. 如何擴展/覆蓋預定義的核心sencha類?
- 5. 覆蓋擴展文件(Android)
- 6. 覆蓋核心Symfony2組件
- 7. 如何擴展/覆蓋UserManager
- 8. prestashop 1.5核心文件覆蓋
- 9. 覆蓋drupal的核心包含文件
- 10. Moodle擴展/覆蓋核心小鬍子模板
- 11. Firefox擴展覆蓋注入JavaScript文件?
- 12. Chrome擴展程序 - 覆蓋.js文件
- 13. 如何覆蓋symfony2核心FrameworkBundle?
- 14. 如何覆蓋WordPress的核心功能
- 15. 如何覆蓋Magento核心塊?
- 16. 如何覆蓋Magento核心塊模板?
- 17. 如何覆蓋在MVC核心
- 18. 如何讓linux核心轉儲文件每次都被覆蓋?
- 19. Magento中的核心覆蓋
- 20. 覆蓋核心數據值
- 21. Joomla 2.5核心覆蓋
- 22. 在ASP.NET核心覆蓋User.IsInRole
- 23. Typo3 8.7擴展核心表單擴展
- 24. Codeigniter - 如何擴展兩個核心類
- 25. 文本覆蓋文本並可擴展。
- 26. 如何擴展/覆蓋symfony2 form_row函數
- 27. 如何覆蓋擴展方法?
- 28. 如何覆蓋Magento 2擴展助手文件?
- 29. Laravel 5擴展核心類
- 30. 擴展核心類3.1
有allredy具有良好的本條款關於這一主題 –
感謝Choo的,我想通了儘可能多的我有一些飯後,但這肯定會有所幫助。謝謝你的記錄如此乾淨:) – siliconrockstar