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的主要内容,如果未能解决你的问题,请参考以下文章