2012-12-20 44 views
0

我正在學習CodeIgniter(CI)。我已經看到CI支持OOP概念,但我想知道每個例子都在網絡和論壇中,在控制器中聲明的方法使用public關鍵字。我認爲這不是一個愚蠢的問題。即使在CI用戶指南中,我也看到他們總是使用公共關鍵字。那麼封裝會發生什麼?爲什麼程序員總是在codeigniter中使用public

你能幫我解決這個問題嗎?

+0

我在談論不使用私有方法不使用public關鍵字。 – kiriappa

+4

封裝與public關鍵字有什麼關係? – itachi

+0

你的評論沒有道理說實話。 – itachi

回答

3

大家都知道CI是MVC frame work

enter image description here

正如圖中顯示的視圖可以調用控制器和模型。 控制器可以調用模型和視圖,模型可以調用視圖。 在這種情況下,控制器中的大多數方法都由視圖調用,並且此函數具有處理來自View的請求的邏輯。我們可以在控制器和模型中編寫私有方法,這隻能調用形式相同的Class說,大多數例子試圖說明CI的一個特性,不需要編寫私有方法,也就是說,你不熟悉私有方法 - 這隻會用在更多結構化的應用程序中)。無論是封裝和所有。''

2

控制器中的方法實際上是由CI本身調用的。如果其公共CI不能撥打電話,您的控制器將無法工作。這就是爲什麼所有的行動方法需要是public。您可以使用其他方法privateprotected

+0

當然,但它會默認使用公共方法。代碼工作正常,沒有它。我想說這是宣佈公開的好習慣。 – jtheman

+0

在PHP 5中,由於PHP 4的兼容性,代碼工作正常。 –

+1

很酷。但是編程人員現在需要考慮PHP4嗎? v2中的CI甚至不再支持PHP4。 – jtheman

1

我想說,如果你想遵循良好的編程習慣並編寫易於理解的代碼,請將public添加到你的方法中。否則不要。 (我知道我會在我之後找到一些正統的程序員!)

PHP5方法默認爲public哪裏沒有說明。

將沒有任何明確的可見性關鍵字聲明的方法定義爲public。

來源:http://www.php.net/manual/en/language.oop5.visibility.php

相關問題