找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 1754|回复: 0

[原生PHP] php类中的$this,static,const,self这几个关键字使用方法,PHP静态方法

[复制链接]

262

主题

124

回帖

9

广播

业务站长

积分
166
泰拉
180
水晶
2
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2019-10-29 15:44:46 | 显示全部楼层 |阅读模式
本篇文章主要分享一下关于php类中的$this,static,final,const,self这几个关键字使用方法

$this
$this表示当前实例,在类的内部方法访问未声明为const及static的属性时,使用$this->value='phpernote';的形式。常见用法如:$this->属性,$this->方法

  1. <?php
  2.   /**
  3.   * 有关人类
  4.   */
  5.   class Person
  6.   {
  7.      
  8.     private $name='张三';
  9.     public  $sex;
  10.     public function run(){
  11.       return $this->name.'能跑';
  12.     }
  13.     public function length(){
  14.       echo $this->run().'800米';
  15.     }
  16.   }

  17.   $person=new Person();
  18.   $person->length();
  19. ?>
复制代码


static
声明及调用静态变量如下:

  1.   <?php
  2.   /**
  3.   * 示例
  4.   */
  5.   class Person
  6.   {
  7.     static  $sex=1;
  8.     public  $name='张三';

  9.     static function qianDao(){
  10.       return self::$sex++;
  11.     }

  12.     static function printQianDao(){
  13.       echo self::qianDao();
  14.     }

  15.     static function printQianDao2(){
  16.       echo $this->qianDao();
  17.     }

  18.     static function printQianDao3(){
  19.       echo $this->name;
  20.     }

  21.     public function printQianDao4(){
  22.       echo $this->name;
  23.     }

  24.   }

  25.   $person=new Person();
  26.   $person->printQianDao();//输出1
  27.   Person::printQianDao(); //输出2
  28.   $person->printQianDao2();//报错:Using $this when not in object context
  29.   $person->printQianDao3();//报错:Using $this when not in object context
  30.   $person->printQianDao4();//输出“张三”;
  31.   Person::printQianDao4(); //报错1:Non-static method Person::printQianDao4() should not be called statically,报错2:Using $this when not in object context

  32. ?>
复制代码


注意事项:
  1.在静态方法内部,不能使用$this(即在静态方法内部只能调用静态成员);
  2.调用静态成员的方法只能是self::方法名或者parent::方法名或者类名::方法名
  3.在类的外部,调用静态方法时,可以不用实例化,直接类名::方法名
  4.静态方法执行之后变量的值不会丢失,只会初始化一次,这个值对所有实例都是有效的


const
定义及调用类的常量如下:

  1.   <?php
  2.   /**
  3.   * 示例
  4.   */
  5.   class Person
  6.   {
  7.     const PI=1;

  8.     static function getPi(){
  9.       return self::PI;
  10.     }

  11.     static function printPi(){
  12.       echo self::getPi();
  13.     }
  14.   }
  15.   Person::printPi();
  16. ?>
复制代码

注意:调用类的成员是self::PI,而不是self::$PI

self
self表示类本身,指向当前的类。通常用来访问类的静态成员、方法和常量。




获得 大财神卡 一张

卡片说明:曲奇饼 遇到 [老神仙离歌] 被赠与 4 铜钥匙.

卡片效果:获得 4 铜钥匙

慵懒~慵懒~
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-20 05:14 , Processed in 0.107472 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表