首页 >后端开发 >PHP问题 > 正文

php static是什么意思

原创2021-06-10 09:08:250751

php static是PHP中的一种关键字,使用static关键字即表示该成员为静态成员,在类的加载过程中只会保留一个副本,所有对静态变量进行的操作都会对所有对象起作用。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php static是什么意思?

PHP中static关键字的作用和区别

PHP中的static与Java等其他面向对象语言不同,实例化出来的一个对象只可以对静态方法进行访问,对静态成员无法访问。

使用static关键字即表示该成员为静态成员,在类的加载过程中只会保留一个副本,所有对静态变量进行的操作都会对所有对象起作用

在PHP中静态变量不能被实例化对象调用,静态方法可以被对象调用

// ----类内部----
// 调用普通成员
this->name;
// 调用静态成员
self::name_static;
// ----类外部----
// 调用普通成员需要实例化使用
Car c = new Car();
c->name;
// 调用静态方法
c::fun()  <==>  Car::fun()
// 调用静态变量
Car::name;

分析一段代码:

class Car
{
    private $name;
    private static $type = "Car";
    function __construct($name)
    {
        $this->name = $name;
        echo "Car " . $name . " has created!\n";
    }
    public static function getType()
    {
        echo self::$type . "\n";
    }
    public function getName()
    {
        echo "Car name is " . $this->name . "\n";
    }
    function __destruct()
    {
        echo "Car " . $this->name . " has destory!";
    }
}

一个实体类,定义了一个构造函数,一个静态函数,一个普通函数,一个析构函数和一个普通成员变量、一个静态成员变量。

使用PHPunit进行测试

class  test extends PHPUnit_Framework_TestCase
{
    public function test_car()
    {
        $car = new Car("BMW");
        $car::getType();
        $car->getName();
    }
}

可以得到输出:

Car BMW has created!
Car
Car name is BMW
Car BMW has destory!

【推荐学习:PHP视频教程

以上就是php static是什么意思的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:static
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • php8,我来也php8,我来也
  • 细说PHP(2021版)第一季细说PHP(2021版)第一季
  • 细说PHP(2021版)第二季细说PHP(2021版)第二季
  • 细说PHP(2021版)第三季细说PHP(2021版)第三季
  • 细说PHP(2021版)第四季细说PHP(2021版)第四季
  • 视频教程分类