我是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. 我应该使用表格还是div?
- 2. 我应该使用NSOperation还是NSRunLoop?
- 3. 我应该使用SASS还是SCSS?
- 4. 我应该使用SVN还是Git?
- 5. 我应该使用em还是px?
- 6. 我应该使用MapView还是MapFragment
- 7. 我应该使用Angular.copy()还是_.clone()?
- 8. 我应该使用BIT(1)还是BOOL?
- 9. 我应该使用GulpJS还是Ember-cli?
- 10. RegEx - 我应该使用Capture还是Group?
- 11. 我应该使用Boost.GIL还是死了?
- 12. 我应该使用int还是UInt16?
- 13. 我应该使用node-uuid还是uuid?
- 14. 我应该使用data.frame还是矩阵?
- 15. 我应该使用Get还是Load - nhibernate?
- 16. Numpy:我应该使用newaxis还是None?
- 17. 我应该使用JSON还是XML?
- 18. 我应该使用double还是float?
- 19. 我应该使用ImageButton还是Button?
- 20. 我应该使用Timer,Handler还是ASyncTask?
- 21. 我应该使用PowerShell还是CMD.exe?
- 22. JDO - 我应该使用detachCopy还是makeTransient?
- 23. 我应该使用PurePDF还是AlivePdf
- 24. 我应该使用plist,SQLite还是NsMutableArray?
- 25. 我应该使用AJAX还是WebSockets。
- 26. 我应该使用MySQL还是MongoDB?
- 27. Python:我应该使用eval,exec还是..?
- 28. 我应该使用WCF还是ASMX webservice?
- 29. 我应该使用fputs还是putchar?
- 30. 我应该使用SingleTone还是静态?
苹果和橘子在这里:$ var是一个属性 - 一个变量; __construct()是一种方法 - 执行某些操作的函数。 – Anonymous
也许可以解释为什么你认为他们是“一样的”? –
因为我使用__construct($ var){$ this-> var = $ var}来创建一个像public $ var这样的属性的变量。 – LotusH