我在中遇到了以下几行代码wp-includes/wp-db.php
:
/**
* Last query made
*
* @since 0.71
* @access private
* @var array
*/
var $last_query;
/**
* Results of the last query made
*
* @since 0.71
* @access private
* @var array|null
*/
var $last_result;
我想知道,既然用var声明的变量在默认情况下是公共的,那么
here, 文档中是否有错误,以及此代码中的var是否应更改为private或public。
谢谢
最合适的回答,由SO网友:Rarst 整理而成
正如您可以从版本号猜到的,这段代码很古老。如此古老事实上var
关键字来自PHP 4 在PHP 5中被弃用(被认为是public
向后兼容性)。
所以内联文档暗示它是私有的,因为在PHP语言中,当时并没有实际的属性可见性。
因此,从概念上讲,它可能在现代代码中受到保护(那么它可能需要getter,因为这两个属性对于调试非常有用)。
实际上,这些将永远是事实上的公开,因为将它们更改为私有/受保护将意味着破坏向后兼容性,WordPress坚决反对向后兼容性。