php基础——常量及魔术常量

常量

常量应用场景

  • 网站开发中,需要一些全局性的值,如网站的根目录路径,希望设置后在开发中使用,而且不允许其他程序员修改
  • 一些基本的数据,是固定的,轻易不能修改,如,税率

定义常量

  • const可以定义类常量,define不能,在类方法中定义的常量不叫类常量是普通常量,普通常量两种方式都可
  • 常量定义后不能修改,也不能销毁
  • 定义常量后,该常量在页面任意处都可以访问 类似超级全局变量
  • 常量前面没有符号 $,一般大写,且必须是一个定值
define("PI", 3.14);
echo PI, "<br>";    // 常量前面不加$ 大写

const TAX_RATE = 0.08;
echo TAX_RATE;

function test(){
	// 常量在页面任意处都可以访问
    echo TAX_RATE;
}

test();     // 0.08

检测常量是否定义

  • is_set( ) 是检测变量是否存在
  • defined 检查某个名称的常量是否存在
if (!defined("PI")){
    define("PI", 3.14);
}
defined("TAX_RATE") || define("TAX_RATE",0.08);
var_dump(PI,TAX_RATE);  // float 3.14   float 0.08

魔术常量

魔术常量总结

  • 八个魔术常量它们的值随着它们在代码中的位置改变而改变,无法手动修改他的值,所以叫魔术常量
  • 魔术常量可以写在任何位置,在页面任意处都可以访问

__FILE__返回文件当前的目录(包含文件名) 绝对路径

在框架开发或时网站的初始化脚本中,用来计算网站的根目录

echo '当前运行的是',__FILE__,'文件','<br>';	// 当前运行的是F:\wamp\www\PHP\面向对象\测试1.php文件

__DIR__返回文件当前的目录(不包含文件名) 绝对路径

echo '当前目录',__DIR__,'<br>';                // 当前目录F:\wamp\www\PHP\面向对象

__LINE__返回文件当前的行号

在框架中,可以用来在debug时,记录错误信息

echo 'hi~ 我在第',__LINE__,'行','<br>';		// hi~ 我在第60行

__CLASS__返回当前的类名 ; __METHOD__返回当前的方法名

class Human{
    public function test(){
        echo '你正在运行',__CLASS__,'下的',__METHOD__,'方法';
    }
}

$a = new Human();
$a->test(); // 你正在运行Human下的Human::test方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值