普通常量和类常量
普通常量:
define('常量名',常量值);
define定义的常量全局有效,
无论是页面内,还是函数内,类内都可以访问
能否定义专门在类内发挥作用的常量
专门在类内发挥作用说明:
1.作用域在类内,类似于静态属性,
2.又是常量,不可改
其实就是"不可改变的静态属性"
类常量:在类内用const声明即可,前面不用加修饰符,而其权限是public
<?php
define('ACC','Deny');
class Human{
const HEAD = 1;
public static $leg = 2;
public static function show(){
echo ACC,'<br/>';
echo self::HEAD,'<br/>';
echo self::$leg,'<br/>';
}
}
Human::show();
echo Human::HEAD;
?>
魔术常量
魔术常量:
1.无法手动修改的值,所以叫常量
2.但是值又不是随机变动的所以叫魔术
__FILE__ 返回当前文件的路径,
在框架开发或者是网站初始化脚本中,用来计算网站的根目录
__LINE__ 返回当前的行号
在框架中,可以用来debug时,记录错误信息
__CLASS__ 返回当前的类名
__METHOD__ 返回当前的方法名
<?php
echo "当前正在运行的是",__FILE__,"文件<br/>";
echo "当前在",__DIR__,'目录下<br/>';
echo "当前是",__LINE__,"行<br/>";
class Human{
public static function t(){
echo '你正在运行',__CLASS__,'类下的<br/>';
echo __METHOD__,'方法';
}
}
Human::t();