当前位置:Gxlcms > PHP教程 > php中static和const关键字用法

php中static和const关键字用法

时间:2021-07-01 10:21:17 帮助过:18人阅读

这篇文章主要介绍了php中static和const关键字用法,结合实例形式分析了static和const关键字的功能、使用方法与相关注意事项,需要的朋友可以参考下

具体如下:

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

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

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

  1. <?php
  2. class Person{
  3. public static $myCountry = "中国";
  4. public static function say(){
  5. echo "我的祖国是:".self::$myCountry."<br>";
  6. }
  7. }
  8. //
输出静态属性 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. <?php
  2. class MyClass{
  3. const constant = 'constant value';
  4. function showConstant(){
  5. //方法中调用常量,没有$
  6. echo self::constant."<br>";
  7. }
  8. }
  9. //类直接调用,没有$
  10. echo MyClass::constant."<br>";
  11. $class = new MyClass();
  12. $class ->showConstant();
  13. ?>

以上就是本文的全部内容,希望对大家的学习有所帮助。


相关推荐:

php的代码优化

php 多继承的几种方法

php-fpm.conf 配置说明

以上就是php中static和const关键字用法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行