欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-01 20:53:04
本文实例讲述了php中static和const关键字用法。分享给大家供大家参考,具体如下: static关键字在类中描述的成员属性和成员函数都是静态的。 static成...

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

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

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

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

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

<?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>";
?>

输出结果为:

中国
我的祖国是:中国
中国-江苏

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

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

<?php
class myclass{
 const constant = 'constant value';
 function showconstant(){
  //方法中调用常量,没有$
  echo self::constant."<br>";
 }
}
//类直接调用,没有$
echo myclass::constant."<br>";
$class = new myclass();
$class ->showconstant();
?>

更多关于php相关内容感兴趣的读者可查看本站专题:《php基本语法入门教程》、《php运算与运算符用法总结》、《php面向对象程序设计入门教程》、《php网络编程技巧总结》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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