【发布时间】:2015-09-16 15:09:33
【问题描述】:
我有两个这样的课程:
class one
{
public $var1 = 'anythig';
}
class two
{
public $var2 = 'anythig';
}
我想知道当我创建这些类的对象实例时会发生什么?我的观点是关于存储在内存中的值。实际上我有一些大班,我的资源是有限的。那么我想知道,如果我在不需要的时候把NULL 放到我的课堂上会好吗?并帮助优化?
我有一个 switch() 来包含所需的课程。像这样:
switch{
case "one":
require_once('classes/one.php');
break;
case "two":
require_once('classes/two.php');
break;
}
每次我只需要一节课。当我定义一个新对象 ($obj = new class) 之前定义为对象实例的类会发生什么情况?那是留在记忆中吗?如果我输入NULL 有帮助吗?请指导我..
编辑:
最后一行有用还是没用?
$obj = new myvlass;
echo $obj->property; // there is where that my class is done
$obj=NULL;
【问题讨论】:
-
将
null或新实例分配给现有对象变量都会破坏先前的对象,假设没有其他对象引用它。 -
@Ja͢ck 什么?当我像这样
$class1 = new class1;创建一个class1 的实例,然后像这样$class2 = new class2创建一个class2 的新对象时,现在$class1将被销毁? -
@Ja͢ck 是吗?我该怎么办 ?!我把
NULL放进去?如何释放内存? -
unset($class1, $class2);销毁这两个对象。 -
@Ja͢ck aha,请查看我的编辑,然后告诉我是与否,tnx
标签: php class oop object php-internals