定义常量两种方式
关键字:const
const APP_PATH = '/phpstudy/0702';
函数 define
define('APP_NAME','客户管理系统');
//查询用户自定义的常量
print_r(get_defined_constants(true)['user']);
注意:
1.类常量只允许用const;
2.常量不允许删除;
3.常量不受作用域限制;
const NAME = 'zhangsan';
function getName(){
//函数体也是可以访问的
echo NAME;
}
getName();
4.常量推荐全部大写,多个单词之间使用下划线连接;
使用 constant函数访问常量优势
const APP_NAME = "应用";
$name = 'APP_NAME';
//使用 constant 可以用变量值找到对应的常量值
echo constant($name);
需要记住一些常量
// 预定义常量
echo '版本号: ' . PHP_VERSION . '<br>';
echo '操作系统: ' . PHP_OS_FAMILY . '<br>';
echo '最大整数: ' . PHP_INT_MAX . '<br>';
echo '最大浮点数: ' . PHP_FLOAT_MAX . '<br>';
echo '目录分隔符: ' . DIRECTORY_SEPARATOR . '<hr>';
序号 |
魔术常量 |
描述 |
1 |
__LINE__ |
文件中的当前行号 |
2 |
__FILE__ |
文件的完整路径和文件名 |
3 |
__DIR__ |
文件所在目录 |
4 |
__FUNCTION__ |
当前的函数名称 |
5 |
__CLASS__ |
当前类名称 |
6 |
__TRAIT__ |
当前Trait 名称 |
7 |
__METHOD__ |
当前类方法名称 |
8 |
__NAMESPACE__ |
当前命名空间名称 |
命名空间
全局空间中的成员,不允许重复定义,为了解决命名冲突问题,引入命名空间
<?php
namespace space1{
const APP_PATH = '/0706';
}
namespace space2{
const APP_PATH = '/0702';
}
// 全局空间: 匿名空间 所有全局变量或者函数写入这个空间
namespace {
echo \space1\APP_PATH, "<br>";
echo \space2\APP_PATH, "<br>";
}
注意: 一旦使用命名空间,所有变量等元素必须放入各自命名空间中,否则就会报错
全局成员: 常量, 类[接口], 函数