PHP-类定义属性直接赋值和在构造函数中赋值有什么区别? 哪种效果好?

PHP-类定义属性直接赋值和在构造函数中赋值有什么区别? 哪种效果好?

浮生未歇 发布于 2017-08-28 字数 73 浏览 1132 回复 1

类定义属性直接赋值和在构造函数中赋值有什么区别?
哪种效果好?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2017-10-24 1 楼

一般在定义属性时赋值,是可以增加程序的可读性,能直接看出这个属性的类型,如:

public $var1 = '';
private $var2 = array();

而在构造函数中付值,有时候是为了解决一些定义属性时不能直接赋值的情况,如:

function __construct(){
$this->var1 = __FILE__;
}

还有函数,或者方法直接给属性赋值也是不可以的。
还有就是一些属性的值是根据实例化一个类传入的参数不同而不同,也需要在构造函数中赋值,new className('arg1');