在本教程中,我们将向您展示如何在 PHP 中定义和使用常量。
在 PHP 中,常量是保存指定值的标识符。存储在常量中的值只能在运行时定义。
定义后,您无法更改存储在常量中的值。这对于您希望在整个 PHP 脚本中访问并且不希望或不需要更改其值的值很有帮助。
例如,您可以在 PHP 中使用常量来存储 SQL Server 的登录详细信息,以便在运行时访问。
有两种方法可以在 PHP 中定义常量。
define()函数。这些常量在运行时处理。const”关键字。使用它定义的常量是在运行代码之前的编译期间设置的。我们将探索这些方法,并在本指南中解释它们之间的一些根本区别。
在 PHP 代码中命名常量时,应始终使用大写字母。此外,常量仍然遵循标准变量命名规则。
常量必须以字母或下划线开头,后跟字母、数字或下划线。但是,这将有助于避免编写以两个下划线开头和结尾的常量。PHP 的“魔术常量”通常使用这些。
在代码中引用常量时,不要$在其名称前使用美元符号 ( )。因此,例如,您将使用“ FTP_DETAILS”而不是“ $FTP_DETAILS”。
最后,默认情况下,常量可以在整个脚本中自动访问,这意味着 PHP 可以在整个代码中访问它们。
该define()函数是将变量定义为 PHP 语言中的常量的两种方法之一。它不像“ const”关键字那样易于阅读,但仍有一些优势。
当使用此函数定义常量时,它们直到运行时才会被处理。这意味着您可以使用PHP 的条件语句来指示是否定义了常量。
使用 define 函数的语法很简单,它只有两个你需要担心的参数。
define(NAME, VALUE)
第一个参数 ( NAME) 用于设置常量名称。
请记住,在此处设置名称时,应使用大写字母。因此,例如,PHP 中常量的有效名称应该是“ FTP_DETAILS”。
第二个 ( VALUE) 参数用于设置要分配给常量的值。
define()让我们向您展示使用该函数在 PHP 中声明一个常量是多么简单。
我们将WEBSITE为此常量使用名称“”,并将值设置为包含“ pimylifeup.com”的字符串。
您可以看到,当我们使用 define 函数时,我们将变量名传递给第一个参数,然后将我们想要设置的值传递给第二个参数。
然后我们利用PHP 的内置 echo 函数来输出我们设置常量的值。
- define("WEBSITE", "pimylifeup.com");
- echo WEBSITE;
- ?>
请记住,您必须避免$在其名称前使用美元符号 ( ) 来使用常量。一个常量纯粹是用它的名字来引用的。因此,例如,您将使用“ CONSTANT”,而不是“ $CONSTANT”。
用 define() 声明的常量是全局的
使用该define()函数声明的常量对当前 PHP 脚本全局可用。您甚至可以在函数和类中使用它。
为了展示这一点,让我们编写一个简单的脚本。该脚本将包含一个被调用的函数,该函数将在调用foo()时输出我们的常量的值。
通过这个示例,您可以看到如何在函数中仍然使用常量。
- define("WEBSITE", "pimylifeup.com");
-
- function foo() {
- echo WEBSITE;
- }
-
- foo();
- ?>
同样,如果我们要编写一个名为 Bar 的简单类,您可以看到仍然可以在其中使用 PHP 常量。
我们将使用与define()前面示例相同的“ ”函数。这次我们将创建一个简单的类,叫做“ Bar”。在这个类的构造方法中,我们将回显“ WEBSITE”常量的值。
- define("WEBSITE", "pimylifeup.com");
-
- class Bar
- {
- public function __construct() {
- echo WEBSITE;
- }
- }
-
- new Bar();
- ?>
在不同的命名空间中声明 PHP 中的常量
在使用不同命名空间的 define 函数时声明一个常量并不是最清晰的代码。默认情况下,define 函数也将默认使用全局命名空间。
在特定命名空间中声明常量时,您需要将该命名空间作为其名称的一部分。
例如,如果您希望常量成为名为“ pimylifeup”的名称空间的一部分,您可以使用“ pimylifeup\NAME”。
下面的示例向您展示了如何在特定命名空间下使用 define 函数声明一个常量。
然后我们打印在当前命名空间下创建的常量。
- namespace pimylifeup;
-
- define("pimylifeup\WEBSITE", "pimylifeup.com");
-
- echo namespace\WEBSITE;
- ?>
除非需要,否则应使用“ const”关键字。它将自动在当前命名空间下声明。
在 PHP 中使用 Define() 函数有条件地声明常量
与“const”关键字相比,使用define() 函数来声明常量的主要优势在于处理它们的时间。
直到运行时才使用该define()函数处理常量,这意味着可以有条件地设置它。
相反,使用“ const”关键字定义的常量在编译时处理。这意味着它们是在任何代码运行之前定义的。
在下面的例子中,我们使用“ defined()”函数来查看常量是否已经被定义。如果没有,我们声明它。
如果可以在代码的其他地方定义常量,则此代码段很有用。
- if (!defined("WEBSITE")) {
- define("WEBSITE", "pimylifeup.com");
- }
-
- echo WEBSITE;
- ?>
您可以将数组传递给 define() 函数
从 PHP 7 开始,可以在使用 define 函数时使用数组作为常量的值。
在 7.0 版本之前,每当您想将数组定义为常量时,都需要使用 const 关键字。
您需要做的就是将值设置为数组。我们将编写一个简单的示例,FOOD用一个简单的数组声明“ ”常量。
您可以像在 PHP 中访问普通数组一样访问常量数组的元素。通过下面的示例,我们将打印出数组的第三个元素。
- define("FOOD", [
- 'Apple',
- 'Carrot',
- 'Raspberry Pie'
- ];
-
- echo FOOD[2];
- ?>
在 PHP 中使用 const 关键字定义一个常量
在 PHP 中声明常量的第二种方法是使用 const 关键字。这被认为比使用“ define()”函数更具可读性,并且具有一些行为差异。
使用 const 关键字时,会在编译时设置一个常量,而不是在运行时设置。不幸的是,这意味着您不能在条件语句中使用 const 关键字。
与使用 define() 函数一样,您应该用大写字母或数字编写常量名称。
在 PHP 中使用 const 关键字定义常量的基本语法如下所示。
const NAME = value;
const 关键字声明常量的基本用法
对于本例,我们将使用 PHP 的 const 关键字声明一个新常量。我们将把这个常量命名为“ WEBSITE”并为其赋值“ pimylifeup.com”。
声明后,我们将使用 echo 函数将常量的值打印到屏幕上。
- const WEBSITE = "pimylifeup.com";
-
- echo WEBSITE;
- ?>
在 PHP 中使用 const 声明全局常量
您可以使用 const 关键字在 PHP 中全局声明常量。您需要做的就是确保它在命名空间或类之外声明。
通过下面的示例,您可以看到我们的“ WEBSITE”常量仍然可以从“ bar()”函数中访问。
当函数被调用时,它会打印出我们全局常量的值。
- const WEBSITE = "pimylifeup.com";
-
- function bar() {
- echo WEBSITE;
- }
-
- bar();
- ?>
您可以使用 const 关键字在 PHP 类中声明常量
与 define 函数不同,您可以使用 const 关键字在类中声明常量。
除非您以不同方式指定它,否则该常量将是可公开访问的。
通过这个示例,我们将向您展示在 PHP 中声明和访问一个类中的常量的各种方法。
当你在类中声明你的常量时,你可以通过使用“ self::”后跟常量名来访问它。
在类之外,您可以通过静态访问类(例如“ foo::”)或通过创建输出常量值的函数来引用常量。
- class foo
- {
- const WEBSITE = "pimylifeup.com";
-
- function print_constant() {
- echo self::WEBSITE;
- }
- }
-
- echo foo::WEBSITE;
-
- $foobar = new foo();
-
- $foobar->print_constant();
- ?>
使用 const 关键字声明的常量采用当前命名空间
在 PHP 中使用 const 关键字声明的常量将采用当前设置的命名空间。
这比使用定义函数要干净得多,在定义函数中,您必须在其声明中包含命名空间。
下面的示例将向您展示使用 const 关键字在命名空间中声明常量是多么容易。然后我们打印声明的值。
- namespace helloworld;
-
- const WEBSITE = "pimylifeup.com";
-
- echo namespace\WEBSITE;
- ?>
结论
在本指南中,我们向您展示了在 PHP 中声明常量的各种方法。
常量是一个变量,其值在其初始声明后不会也不能更改。PHP 的“ define()”函数允许您声明在运行时创建的常量。
内置的 const 关键字允许您声明在编译时创建的常量。通过在定义函数上使用 this 有一个小的性能提升。
如果您对在 PHP 中处理常量有任何疑问,请在下方发表评论。
要了解有关 PHP 及其各种功能的更多信息,请查看我们的许多其他 PHP 指南。我们也有涵盖其他编程语言的教程。
-
相关阅读:
Vulkan 创建 PhysicalDevice 和 Surface 的包装思路
卷积神经网络基础概念理解(二)
【通义千问】大模型Qwen GitHub开源工程学习笔记(4)-- 模型的量化与离线部署
Linux system函数返回值
Two-Stream Consensus Network论文阅读
高质量的子程序
Qt+windows开发备忘录
【论文阅读|深读】DANE:Deep Attributed Network Embedding
排序算法之快速排序(挖坑法)
颈椎神经分布立体图高清,颈椎神经分布立体图片
-
原文地址:https://blog.csdn.net/allway2/article/details/126687151