为什么需要静态指定才能正确解释?请参阅下面的代码中的评论。
<?php
require_once 'class.database.php';
class table extends database
{
static protected $_args=array(); // static added here to remove error
function __construct()
{
parent::__construct();
self::protect();
}
function protect()
{
foreach($_POST as $key => $value)
{
self::$_args[$key] = mysql_real_escape_string($value);
$i++;
}
}
。 。
答案 0 :(得分:3)
有类属性和对象属性。类属性属于类本身,而不是实例,使用static
声明,并使用self::
进行访问。对象属性属于该类的实例,声明为static
,并且使用$this->
进行访问。
如果使用self::
,则可以从对象方法访问类属性。但是您将访问其他实例访问的相同属性。
当然,您无法从静态方法访问对象属性,因为没有涉及对象/实例。