关于静态方法和静态变量:
1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
2)static方法中不能用this(与实例相关)
3)非static方法中可以使用static成员

如何在静态方法中使用非静态变量?实例:

复制代码
<?php
class abc{
    public $count=8;
    function __construct(){
        $this->count++;
    }
    static function getCount(){
        $b=new abc();
        return $b->count;
    }
}
$c=new abc();
$b=new abc();
echo $b->getCount();
?>
复制代码

在静态方法getCount()中,创建了一个新变量$b=new abc()初始化类,然后再使用类的非静态变量就可以了。

(本文转自小谈博客php栏目 作者:谈腾 网址:http://tanteng.sinaapp.com/2012/10/static-variable/)

如何在静态方法中使用非静态变量
标签: