php中static和const关键字用法分析

2025-05-29 0 67

本文实例讲述了phpstaticconst关键字用法。分享给大家供大家参考,具体如下:

static关键字在类中描述的成员属性和成员函数都是静态的。

static成员能限制外部的访问,因为static成员是属于类的,而不是属于任何对象实例。

从内存的角度讲,其中对象是放在“堆内存”中,对象的引用是放在“栈内存”中,而静态成员被放在初始化静态段中,在类的第一次加载的时候加入的。可以让对内存中的所有对象所共享。如下图所示:

php中static和const关键字用法分析

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
<?php

class Person{

public static $myCountry = "中国";

public static function say(){

echo "我的祖国是:".self::$myCountry."<br>";

}

}

//输出静态属性

echo Person::$myCountry."<br>";

//调用静态方法

Person::say();

//修改静态属性

Person::$myCountry = "中国-江苏";

echo Person::$myCountry."<br>";

?>

输出结果为:

?

1

2

3
中国

我的祖国是:中国

中国-江苏

类中的静态方法只能访问类的静态的属性。类中的静态的方法是不能访问类的非静态的成员的。我们用self来访问类中的静态属性。self与this相似,只不过self代表静态方法所在的类,this相似,只不过self代表静态方法所在的类,this引用指针,代表调用此方法的对象。静态方法是不用对象调用的,所有就没有this这个引用了。没有this这个引用了。没有this,就没办法调用类中的其他的成员属性。

const是一个定义常量的关键字。在类里面常用const来定义常量。用“const”修饰的成员属性的访问方式和“static”修饰的成员访问的方式差不多,也是使用“类名”,在方法里面使用“self”关键字。但是不用使用“$”符号,也不能使用对象来访问。

?

1

2

3

4

5

6

7

8

9

10

11

12

13
<?php

class MyClass{

const constant = 'constant value';

function showConstant(){

//方法中调用常量,没有$

echo self::constant."<br>";

}

}

//类直接调用,没有$

echo MyClass::constant."<br>";

$class = new MyClass();

$class ->showConstant();

?>

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php中static和const关键字用法分析 https://www.kuaiidc.com/95855.html

相关文章

发表评论
暂无评论