我是PHP OOP的新手,我認爲public $var
和__construct()
完全一樣。 有什麼區別?我應該使用哪一個?
-3
A
回答
6
它們是完全不同的東西:一個聲明一個類屬性,另一個是類構造函數的名稱。
這裏沒有「一個或那個」這樣的東西。
我建議您重新閱讀關於classes and objects的所有信息,在您的PHP書籍或手冊中。
0
public $var
是不是構造函數,其中__construct()
是。我希望你的意思是別的。
正如manual指出,有2種構造函數:
class Bar {
public function Bar() {
// "old" style constructor
}
}
class Foo {
function __construct() {
// new style constructor
}
}
0
public $var;
聲明一個變量,將是外界訪問。
function __construct() { /* Do stuff */ }
定義「魔術」構造函數方法。當創建新實例時(即創建new
對象),將調用此方法。該方法接受和處理創建新對象時傳遞的任何參數。
關鍵的區別是一個定義了一個變量(屬性),另一個定義了一個函數(方法)。
相關問題
- 1. 應該使用`!var`還是`var == NULL`?
- 2. 我應該使用PurePDF還是AlivePdf
- 3. 我應該使用ABPersonViewController還是ABUnknownPersonViewController
- 4. 我應該使用Series.replace還是Series.str.replace?
- 5. 我應該使用requestanimationframe還是setTimeout?
- 6. 我應該使用SASS還是SCSS?
- 7. 我應該使用Boost.GIL還是死了?
- 8. 我應該使用Flash還是Java?
- 9. 我應該使用partial還是show.html.erb?
- 10. 我應該使用TNSNAMES.ORA還是tnsnames.ora?
- 11. 我應該使用pygame.event.get()還是pygame.event.poll()?
- 12. 我應該使用BroadcastReceiver還是Service?
- 13. 我應該使用urandom還是openssl_random_pseudo_bytes?
- 14. 我應該使用SyncLock還是Interlocked?
- 15. 我應該使用Backbone.emulateHTTP還是php file_get_contents
- 16. 我應該使用rand()還是rand_s()?
- 17. 我應該使用XMLHttpRequest/JSON還是iFrame?
- 18. 我應該使用NSOperation還是NSRunLoop?
- 19. 我應該使用UUID還是其他?
- 20. 我應該使用UIImageview還是其他?
- 21. 我應該使用TempData還是RedirectToAction?
- 22. 我應該使用SPContext還是ClientContext?
- 23. 我應該使用Timer,Handler還是ASyncTask?
- 24. 我應該使用SQL還是JSON
- 25. 我應該使用KeyGenerator還是SecretKeyFactory?
- 26. 我應該使用AJAX還是WebSockets。
- 27. 我應該使用值還是鍵?
- 28. 我應該使用Listener還是Observer?
- 29. 我應該使用WCF還是ASMX webservice?
- 30. 我應該使用System.out.println()還是別的?
蘋果和橘子在這裏:$ var是一個屬性 - 一個變量; __construct()是一種方法 - 執行某些操作的函數。 – Anonymous
也許可以解釋爲什麼你認爲他們是「一樣的」? –
因爲我使用__construct($ var){$ this-> var = $ var}來創建一個像public $ var這樣的屬性的變量。 – LotusH