文章关键字 ‘StdClass’

理解PHP中的stdClass类

2011年05月27日,星期五

在百度百科中,对于stdClass的定义如下:

stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。

以上的定义大多数都是正确的,但是一个致命性的诊断错误: stdClass是PHP的一个基类,所有的类几乎都继承这个类。 看一个简单的例子:

(更多…)

PHP中的stdClass

2011年05月13日,星期五

今天在 bbPress 的 bb-load.php 文件中看到一行代码:

// Initialise $bb object
$bb = new StdClass();

bbPress 很多地方都用到的全局变量 $bb 原来是在这里初始化的,那么 StdClass 是什么呢?搜索了一下 bbPress 的代码,竟然没找到 StdClass 的定义!难道,StdClass 是 PHP 中的预定义类?

(更多…)