【发布时间】:2015-06-11 07:22:38
【问题描述】:
对于我的最新网站,我一直在尝试使用类。主要是为了自学更多关于OOP的知识,并通过经验学习。
每当我在我的类中需要一个“变量”时,我都会创建一个属性,例如:
class someClass
{
var $valueToUseHere; // Only used internally - can I just use a variable?
public function doStuff()
{
$this->valueToUseHere = 60;
// Do more stuff here...
}
}
直到现在,当我更多地研究代码并尝试进行一些优化时,我才注意到我的函数和类正在传递一些大对象。如果我将只在类内部使用的所有属性都变成普通变量,那么大部分内容可能会被剥离。
属性是否只用于类外需要的变量,然后只在类本身中使用“普通”变量是否可以接受?
很抱歉,如果这个问题表明对该主题缺乏了解。不幸的是,这是我目前学习的地方。我已经围绕“类属性与变量”等进行了一些搜索,但没有找到一个全面的答案。
非常感谢
【问题讨论】:
-
你对“正常变量”的理解是什么?
-
“类属性”也是变量,也是正常的。
-
var $valueToUseHere;这是在php中声明变量的方式吗?似乎是一种 javascript 方式。 -
@tning 这是旧的不推荐使用的属性声明语法,现在你应该使用
public、protected或private。 -
var的东西有点像 php,但它是php4,因此真的有点被弃用了。请使用属性并将它们声明为公共或私有(或受保护)。不确定在您的情况下正常变量和属性之间有什么区别,因为我不确定是否存在?见php.net/manual/en/language.oop5.properties.php