释放对象以释放内存
通常在批处理后操作,可有效的释放getFactory静态缓存的对象
null Core_Core::factory_release( [ string $obj_name = null , string $key = null ] )
参数列表
参数 类型 描述 默认值 $obj_name
string
对象名称 不传的话则清除全部 null $key
string
对象关键字 不传的话则清除$objName里的所有对象 null
public static function factory_release($obj_name = null, $key = null)
{
if (IS_CLI || IS_DEBUG)
{
$old_memory = memory_get_usage();
}
if (null===$obj_name)
{
Core::$instances = array();
}
elseif (isset(Core::$instances[$obj_name]))
{
if (null===$key)
{
unset(Core::$instances[$obj_name]);
}
else
{
unset(Core::$instances[$obj_name][$key]);
}
}
if (IS_CLI)
{
echo __('The release memory:') . ( memory_get_usage() - $old_memory ) . "\n";
}
else if (IS_DEBUG)
{
Core::debug()->info(__('The release memory:') . ( memory_get_usage() - $old_memory) );
}
}