首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

php常量的分类

PHP中的常量主要分为几类,每种类型都有其特定的用途和定义方式。以下是PHP常量的分类:

自定义常量

用户可以根据需要定义自己的常量,使用define()函数。例如:

代码语言:txt
复制
define('MY_CONSTANT', 'Hello, World!');

预定义常量

PHP预定义了一些常量,用户可以直接使用,无需定义。例如:

  • PHP_VERSION:PHP版本号。
  • TRUEFALSE:布尔值。
  • NULL:空值。

系统常量

这些常量提供了关于PHP环境的信息,例如:

  • __DIR__:当前脚本所在的目录。
  • __FILE__:当前脚本的文件名。

魔术常量

魔术常量在脚本执行期间创建并维护,不能被用户显式定义。例如:

  • __LINE__:当前执行行的行号。
  • __FUNCTION__:当前正在执行的函数的名称。

类型化常量(PHP 8.1+)

类型化常量允许为常量指定类型,例如:

代码语言:txt
复制
const PI = 3.14; // 浮点型
const PI_DECIMAL = 3.14159; // 浮点型
const APPLICATION_NAME = 'My Application'; // 字符串型

常量的应用场景

  • 配置信息:如数据库连接信息、API密钥等。
  • 数学和物理常量:如圆周率、重力常数等。
  • 枚举类型:如性别、状态等。
  • 文件路径:方便文件的引用和操作。

通过合理使用常量,可以提高代码的可维护性和可读性,同时增强程序的安全性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • PHP魔术常量

    什么是PHP魔术常量 PHP 向它运行的任何脚本提供了大量的预定义常量。很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。...魔术常量准确来说并不能算是常量,常量被定义之后是不能被改变的。但是这些预定义的常量能够随着它们所在位置的变化而变化。 这些特殊的常量并不区分大小写。...> 在网页中显示如下图: 图片 __FUNCTION__ 函数名称(PHP 4.3.0加入)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。...> 在网页中显示如下: 图片 __CLASS__ 类的名称(PHP 4.3.0 加入)。自 PHP 5 起本常量返回该类被定义时的名字。 实例 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。 Trait 名包括其被声明的作用区域(例如 Foo\Bar)。

    1.6K10

    PHP魔术常量

    PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。...这些特殊的常量不区分大小写,如下: 几个 PHP 的“魔术常量” 名称 说明 __LINE__ 文件中的当前行号。 __FILE__ 文件的完整路径和文件名。...(PHP 5.3.0中新增) = __FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。...在 PHP 4 中该值总是小写字母的。 __CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。...这个常量是在编译时定义的(PHP 5.3.0 新增) http://cn.php.net/manual/zh/language.constants.predefined.php 本文由来源 21aspnet

    87040

    PHP-常量

    1.2 常量 在整个运行过程中,固定不变的值 1.2.1 定义常量 1、用define()函数定义常量 define(常量名,值,[是否区别大小写]) true表示不区分大小写,默认是false...2、定义常量可以用特殊字符,但是在调用的时候必须用constant关键字调用 define('%-%','tom'); echo constant('%-%'); //通过constant获取特殊字符作为常量名的常量...; echo NAME; //tom 小结: 1、定义常量有两种方式,define()和const 2、常量在整个运行过程中值保持不变,常量不能重新定义 3、使用constant获取特殊字符做的常量名的值...4、defined()用来判断常量是否被定义 1.2.2 预定义常量 PHP预先定义好的常量 例题 echo PHP_VERSION,''; //PHP版本号 echo PHP_OS,''; //PHP操作系统 echo PHP_INT_MAX,''; //PHP中整型的最大值 1.2.3 魔术常量 魔术常量它们的值随着它们在代码中的位置改变而改变 echo

    2.1K20

    PHP魔术常量

    什么是PHP魔术常量? PHP 向它运行的任何脚本提供了大量的预定义常量。很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。...魔术常量准确来说并不能算是常量,常量被定义之后是不能被改变的。但是这些预定义的常量能够随着它们所在位置的变化而变化。 这些特殊的常量并不区分大小写。...> ​ 在网页中显示如下图: __FUNCTION__ 函数名称(PHP 4.3.0加入)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。...> ​ 在网页中显示如下: __CLASS__ 类的名称(PHP 4.3.0 加入)。自 PHP 5 起本常量返回该类被定义时的名字。 实例 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。 Trait 名包括其被声明的作用区域(例如 Foo\Bar)。

    26540

    PHP中的预定义常量和魔术常量

    魔术常量(8个) 1、__LINE__ 返回文件中的当前行号。 2、__FILE__ 返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。...自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 5、__CLASS__ 返回类的名称(PHP 4.3.0 新加)。...自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 6、__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。...自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。...此常量是在编译时定义的(PHP 5.3.0 新增) 预定义常量 PHP_VERSION PHP 程序的版本,如4.0.2 PHP_OS

    4.4K30

    PHP 常量与变量

    参考链接: PHP常量 【常量】       可以用 define() 函数来定义常量,在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量。...(PHP 5.3.0中新增) =__FUNCTION__函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。...__CLASS__类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。...自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。__METHOD__类的方法名(PHP 5.0.0 新加)。...返回该方法被定义时的名字(区分大小写)。__NAMESPACE__当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

    6.3K20

    PHP变量与常量

    这大概是所有语言通用的规则,只不过PHP中变量名前要加上$ 赋值 变量有两种赋值方式:传值赋值和引用赋值。...默认是传值赋值 预定义变量 PHP提供了大量的预定义变量,这些变量被分别放到几个数组中,称为预定数组。...php /* * 当前文件范围内生效 * 包括require、include进来的文件 */ $a = 1; include 'b.php'; function c() { /*...php /* * 可以使用define()、const定义常量 * 常量值只能是标量或数组,一但被定义,其值便无法更改 * * const定义常量是在预编译阶段执行的,所以必须处于最顶端的作用域...,建议使用这种方式 get_defined_constants(); // 获取所有已定义常量列表 作用域 常量的作用域是全局的 预定义常量 魔术常量 __LINE__ __FILE__ __DIR_

    2.8K30

    PHP 变量与常量

    PHP_EOL; printf("%s\n", $greeting); 其中 PHP_EOL 是 PHP 内置的跨平台换行符常量,PHP 中字符串连接通过 ....PHP_EOL; 在上述代码中设置了两个常量,LANGUAGE 和 AUTHOR,常量名不需要 $ 前缀(也不能设置),并且为了和变量做区分,通常都是以大写字母进行命名(同样大小写敏感),此外,常量名的命名规则除了不需要...通过 const 修饰符设置 另外,PHP 还支持以 const 修饰符的方式定义常量,这种定义方式通常用于在类中设置只读属性(类常量),不过也可以在 PHP 文件中使用: PHP_EOL; 使用 const 修饰符定义的常量命名规则和 define 完全一致,并且不能定义已经在 define 中声明过的常量,具体细节不再重复介绍,上述代码的执行结果是: PHP-Laravel...-学院君 关于 PHP 中的变量和常量我们就简单介绍到这里,到目前为止,我们所有的示例代码都是围绕字符串展开的,下一篇教程,我们来介绍 PHP 中的其他基本数据类型及其使用。

    4.9K10

    PHP面向对象-类的常量

    在 PHP 中,类的常量是指在类定义中定义的固定值,一旦定义就不可改变。类的常量可以被类的任何方法调用,也可以通过类名直接访问。...与普通变量不同,类的常量在定义时必须被赋值,并且不能被重新赋值或取消定义。类的常量是通过 const 关键字定义的。...定义类常量的语法格式如下:class ClassName { const CONSTANT_NAME = value;}其中,CONSTANT_NAME 是常量的名称,value 是常量的值。...通过类名直接访问类常量的语法格式如下:ClassName::CONSTANT_NAME通过对象访问类常量的语法格式如下:$objectName::CONSTANT_NAME下面是一个使用类常量的示例:class...类常量也可以用于定义全局常量,这样可以确保这些常量在应用程序的所有部分中都是一致的。

    86230

    PHP中的那些魔术常量

    之前我们已经了解了一些常用的魔术方法,除了魔术方法外,PHP还提供一些魔术常量,相信大家在日常的工作中也都使用过,这里给大家做一个总结。...其实PHP还提供了很多常量但都依赖于各类扩展库,而有几个常量是通用并且是跟随它们所在代码的位置来提供一些与位置有关的信息,这些就是魔术常量。...自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 echo __FUNCTION__ ....自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。...此常量是在编译时定义的(PHP 5.3.0 新增)。 echo __NAMESPACE__ .

    1.4K10

    PHP的八个魔术常量

    什么魔术常量 ---- 预定义常量:预定义常量就是PHP内置的常量,预先定义好的 PHP有很多预定义常量,比如:PHP_VERSION(版本号)、PHP_OS(操作系统)。...这些普通的预定义常量在程序中的值是固定的,不会因为在不同的位置而改变自身的值。 在PHP有八个特殊的预定义常量,它们的值会随着它们在代码中的位置改变而改变,我们称之为魔术常量。 2....PHP的8个魔术常量 ---- 序号 魔术常量 示例 描述 1 __LINE__ 5 返回魔术常量输出时所在的行号 2 __FILE__ E:\www\1.php 返回文件路径(绝对路径) 3 __DIR...__ E:\www 返回文件所在的目录,当前文件位置:E:\www\1.php 4 __FUNCTION__ taskList 返回函数名称,区分大小写,不在函数中时返回空字符串 5 __CLASS__...php echo __LINE__;//3 echo __FILE__;//E:\www\1.php echo __DIR__;//E:\www echo userList();//userList

    67010

    PHP入门-常量基本规则

    PHP入门-常量基本规则 HTML5学堂:本文是PHP的入门用文章,主要介绍PHP的常量的基本规则以及定义和获取方法。...前几天把PHP的基本语法以及变量的基本规范写完之后,才想起来忘记把常量写到文章里面了,没办法,就再来一篇,讲解一下常量的基本规则以及定义常量、获取常量的方法吧~ PHP常量的基本属性 1、区分大小写,定义时可以指定是否大小写敏感...关于常量的基本方法 定义常量 PHP当中,通过define方法进行常量的定义。...> 获取常量的值 PHP当中,通过constant方法进行常量的值的获取。...如果成功则返回常量的值,如果失败则提示错误信息常量没有被定义。 判断一个常量是否被定义 PHP当中,通过defined方法判断一个常量是否被定义。

    2K150

    针对常量泛型参数的分类实现

    = 0 {} 常量泛型参数 常量泛型参数 (const generics parameters): 可以在任何 常量条目 中使用,而且只能独立使用,通常作为某类型的参数出现。...= 0 是一种良好的形式(当然,常量函数调用也是一种良好的形式),所以我们可以这样写: // 点击右上角就可以运行代码;你可以直接在网页中编辑这段代码 #!...1 | 15 | trait NonZero {} | ^^^^^^^^^^^^^^^^ I == 0 | I > 0 | I < 0 如果我们想对上面的 const I: i32 做更多分类呢...或者在这些分类中,我们想要同样的函数名返回不同的类型呢? 我没有完美的答案,因为具体的需求会导致不同的代码设计。...我给出自己的思考结果: 常量泛型参数无法拓展到自定义类型,所以需要围绕基本类型来实现; 常量表达式总是意味着它的值必须在编译时知晓,所以它的来源很狭窄,唯有泛型函数帮助我们做更多事情。

    74710
    领券