const

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const相关的知识,希望对你有一定的参考价值。

<?php
/**
* Created by PhpStorm.
* User: fu
* Date: 2017/7/18
* Time: 15:08
*/

define(‘MYNUM‘, 2000);

//echo MYNUM;
if(!defined(‘MYNUM‘)){
define(‘MYNUM‘, 4000);
}

//echo MYNUM;

class CeShi{

protected $name;
//在类中定义常量使用const关键字
const NUM = 10;

static $num = 100;

public function test(){
// echo $this->name;
// echo $this->NUM;
// 在类的内部调用访问类常量使用关键字self,后面跟上范围解析操作符(简称一对冒号)
echo self::NUM.‘===‘;

// echo $this->num;
echo self::$num;


//在类中访问静态函数 ::这个是范围限定操作符
// $this->test2(); //这样写可以访问到结果,但是不建议
self::test2(); // self::这个写法才是标准格式
}

public static function test2(){
// $this
echo ‘====调用了静态的函数方法==‘;

}

}

$cs = new CeShi();
$cs->test();

echo ‘<br><br>‘;
// 在类的外部访问类中的常量,一般都是使用该类的类名,当然也可以使用该类的对象名称来访问
echo ‘在类的外部访问常量:‘.CeShi::NUM;
echo ‘<br><br>‘;
//echo $cs->NUM;
echo $cs::NUM;

echo ‘<br><br>‘;
// 类的名称+范围解析操作符+静态变量名称
echo ‘在类的外部访问静态属性:‘.Ceshi::$num;
echo ‘<br><br>‘;
//echo $cs::$num;
////echo $cs->num;
echo ‘<br><br>‘;

$sc = new CeShi();
//$sc::$num = 500;
// 每个静态属性在内存中只会保存一个备份
//echo $sc::$num;
//echo $cs::$num;

//在类的外部访问类的内部静态方法函数
echo Ceshi::test2();
echo $cs::test2();
echo $cs->test2();// 不推荐的写法

以上是关于const的主要内容,如果未能解决你的问题,请参考以下文章

Python常量工具类

TypeScript 断言使用

笔记nodejs读取JSON,数组转树

寒假学习笔记

Es6 学习笔记

ES6重新学习