首页 技术文章 后端开发 php中static的用法是什么
正文 评论

php中static的用法是什么

在PHP中,static关键字用于修饰成员属性和成员方法,在类的普通成员前加一个static关键字就可以将这个普通成员变成静态成员,访问静态成员的语法为“类名::$静态属性”和“类名::静态方法()”。

php中static的用法是什么

本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑

php中static的用法是什么

在 PHP 中,通过 static 关键字修饰的成员属性和成员方法被称为静态属性和静态方法,这里可以将它们统称为静态成员,类中的静态成员与类中的一般成员不同,静态成员不会被实例化到对象中,也就是说我们不需要实例化一个类,就可以通过类来访问静态成员。

在类中声明静态变量很容易,我们可以在类的普通成员前加一个 static 关键字,就可以将这个普通成员变成静态成员了。这样一来,我们可以在不实例化类的情况下,直接访问类中的这些静态成员。访问静态成员的语法格式如下:

类名::$静态属性
类名::静态方法()

其中::符号被称为范围解析操作符,用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果要在类内部的成员方法中访问静态属性,只要在静态属性的名称前加上操作符self::即可。

下面通过一个简单的示例演示一下静态成员的定义:

<?php
    class Website{
        static public $name = '中文网<br>';
        public $title = 'PHP教程';
        public static function url(){
            echo self::$name;
            echo 'http://www.php.cn/<br>';
            echo $this -> title;
        }
    }
    Website::url();
?>

运行结果如下:

中文网
http://www.php.cn/
Fatal error: Uncaught Error: Using $this when not in object context ……

注意:在静态方法中,只能调用静态变量,不能调用普通变量;而普通方法则可以调用静态变量。

使用静态成员,除了可以不需要实例化对象外,另一个作用就是在对象被销毁后,仍然保存被修改的静态数据,以便下次继续使用,这一点和我们前面介绍的静态变量相似。

【示例】声明一个静态变量 $num,然后声明一个方法,在方法的内部调用静态变量并给变量的值加 1;然后,实例化类中的对象,最后,调用类中的方法。

<?php
    class Website{
        static public $num = 0;
        public function add(){
            echo '$num 的值为:'.self::$num;
            self::$num++;
        }
    }
    $num1 = new Website();
    $num1 -> add();
    echo '<br>';
    $num2 = new Website();
    $num2 -> add();
?>

运行结果如下:

$num 的值为:0
$num 的值为:1

静态成员不用实例化对象,当类第一次被加载时就已经分配了内存空间,所以直接调用静态成员的速度要更快一些。但如果静态成员声明得过多,空间一直被占用,反而影响系统的运行速度。

推荐学习:《PHP视频教程》

以上就是php中static的用法是什么的详细内容,更多请关注主题君其它相关文章!

-=||=-收藏赞 (0)
更多主题
单栏极简文艺WordPress博客主题:Diaspora主题
¥ 0 关注:20,013
详情
简约黑白WordPress个人博客主题:Personal主题
¥ 0 关注:19,974
详情
v1.0.0
小程序收录免费WordPress主题:XCX主题
¥ 0 关注:19,582
详情
v1.0.0
一款简约单栏的免费WordPress博客主题:itheme主题
¥ 0 关注:18,105
详情
功能丰富切轻量的WordPress虚拟资源主题:Rizhuti主题
¥ 599 关注:17,994
详情
大气优雅免费WordPress博客主题:HONEY主题
¥ 0 关注:14,845
详情
回复
暂无评论

不要再留垃圾评论了,主题君整理资源不容易,留几句鼓励的话吧。