站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

php中的静态属性和静态方法是什么

时间:2022-01-09 [网络编程]作者:fabuyuan 浏览:6 次

php中,通过static关键字修饰的成员属性和成员方法被称为静态属性和静态方法,访问静态属性和静态方法的语法“类名::$静态属性”和“类名::静态方法()”。

php中的静态属性和静态方法是什么  2

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

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

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

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

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

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

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

<?php
header("Content-type:text/html;charset=utf-8");
class Website {
	static public $name = 'PHP中文网<br>';
	public $title = 'PHP教程';
	public static function url() {
		echo self::$name;
		echo 'https://www.adminjie.com/<br>';
		echo $this -> title;
	}

}

Website::url();
?>

运行结果如下:

php中的静态属性和静态方法是什么  2

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

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

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

<?php
header("Content-type:text/html;charset=utf-8");
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();
?>

运行结果如下:

php中的静态属性和静态方法是什么  2

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

说明:

  • 子类可以重写父类的静态方法.

  • 方法内访问静态变量需要用::符号. 不能用$this;

  • 静态方法和静态变量都会被子类继承.

  • 静态变量不能由->访问, 而是由 ::(双冒号)进行访问

  • 对象可以通过对象名->来直接调用静态成员方法, 这个和调用普通方法是一样的.

推荐学习:《PHP视频教程

以上就是php中的静态属性和静态方法是什么的详细内容,更多请关注站长家园其它相关文章!

本文标签:  php静态属性静态方法

转载请注明来源:php中的静态属性和静态方法是什么

本文永久链接地址:https://www.adminjie.com/post/7433.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • 空格键的功能有哪些

      空格键的功能有哪些

      空格键的功能:1、添加空格;2、网页翻页;3、播放器的暂停或播放;4、在游戏中,用于跳过动画、跳跃、还原画面、攻击或暂停等;5、和Ctrl键一起使用,用于切换中...

    • 怎样修改oracle的连接数

      怎样修改oracle的连接数

      方法:1、利用“altersystemsetprocesses=修改连接数scope=spfile”语句修改数据库允许的最大连接数;2、修改之后...

    • 你知道Golang怎么封装PHP常用函数吗!go-to-php

      你知道Golang怎么封装PHP常用函数吗!go-to-php

      本文由golang教程栏目给大家介绍关于Golang怎么实现PHP常用函数,希望对需要的朋友有所帮助!Golang实现PHP常用函数go-to-php用Gola...

    • oracle数据修改语句是什么

      oracle数据修改语句是什么

      在oracle中,数据修改语句是update语句,该语句的作用就是修改表中指定的数据,语法为“UPDATE表名称SET列名称=新值WHERE条件”...

    • HTML中哪种标签有边框

      HTML中哪种标签有边框

      HTML中有边框的标签:1、input标签,用于规定用户可以在其中输入数据的输入字段;2、hr标签,用于插入一条水平线;3、textarea标签,用于定义一个多...

    热门文章