2013-03-22 114 views
0

這是我想在笨以用於控制器的佈局:如何在CodeIgniter中設計基類和3個擴展類?

(base) editor 
(extend) design 
(extend) content 
(extend) ...php 

...其中editor是一個基類和designcontent等控制器延伸editoreditor類將具有可從擴展類URL段公開訪問的方法。

我讀過關於這裏的一些話題,他們建議:

  1. 圖書館 - 這是行不通的方法將無法公開訪問

  2. (對嗎?)將基類放在與擴展類相同的文件中,並將控制器命名爲 - 這不起作用,因爲我需要從多個地方擴展。

  3. 將所有文件放在控制器文件夾中,將require語句添加到每個擴展類 - 是這種不良形式嗎?

我是新來的CI。什麼是正確/正確的方式來處理這個問題?

謝謝!

+0

http://ellislab.com/codeigniter/user-guide/general/core_classes.html與MY_Controller擴展核心CI控制器,然後再將其與其它控制器延伸MY_Controller。所有其他在MY和MY中保留功能保留基本控制器的功能 – 2013-03-22 17:15:29

+0

這是我列表中的#3,在他們的文檔中它說使用require語句(從擴展控制器到基本控制器)是不好的形式? – Jonathan 2013-03-22 17:41:56

+0

如果一個控制器擴展下一個,則不需要任何require語句。所以你有你的基地CI_Controller它擁有CI的所有系統的東西,你不想修改,因爲它隨CI更新而改變。所以你的流程是CI_Controller> MY_Controller>其他控制器,每個控制器保留了以前的功能,有點像包括會。老實說,我認爲CI在後臺增加了這個要求並不積極,但我只知道它適用於你想要的東西。 – 2013-03-22 18:12:00

回答

0

http://www.ellislab.com/codeigniter/user-guide/general/core_classes.html

與MY_Controller擴展核心CI控制器,然後再將其與其它控制器延伸MY_Controller。所有其他保留MY和MY的功能保留基本控制器的功能

也有這篇文章,它允許更多的控制器沒有MY_前綴,我使用和發現非常有用!

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-base-Classes-Keeping-it-DRY

+0

感謝您的幫助! – Jonathan 2013-03-22 19:18:38