PHP的对象和资源

PHP的对象和资源

对象

对象初始化

要初始化一个对象,用new语句将对象实例到一个变量中。

<?php

class foo

{

function do_foo()

{

echo"Doing foo.";

}

}

$bar=new foo;

$bar->do_foo();

?>

转换为对象

如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,内置类stdClass的一个实例将被建立。如果该值为NULL,则新的实例为空。对于任何其它的值,名为scalar的成员变量将包含该值。

<?php

$obj=(object)‘ciao‘;

echo$obj->scalar;//outputs‘ciao‘

?>

资源

一个资源是一个特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。所有这些函数及其相应资源类型见附录。

注:资源类型是PHP4引进的。

转换为资源

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,您无法将其它类型的值转换为资源。

释放资源

由于PHP4Zend引擎引进了资源计数系统,可以自动检测到一个资源不再被引用了(和Java一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。由此原因,很少需要用某些free-result函数来手工释放内存。

注:持久数据库连接比较特殊,它们不会被垃圾回收系统破坏。