• 如何在 PHP 中使用常量


    在本教程中,我们将向您展示如何在 PHP 中定义和使用常量。

    在 PHP 中,常量是保存指定值的标识符。存储在常量中的值只能在运行时定义。

    定义后,您无法更改存储在常量中的值。这对于您希望在整个 PHP 脚本中访问并且不希望或不需要更改其值的值很有帮助。 

    例如,您可以在 PHP 中使用常量来存储 SQL Server 的登录详细信息,以便在运行时访问。

    有两种方法可以在 PHP 中定义常量。

    • 第一种方法是利用define()函数。这些常量在运行时处理。
    • 第二种方法是使用“ const”关键字。使用它定义的常量是在运行代码之前的编译期间设置的。

    我们将探索这些方法,并在本指南中解释它们之间的一些根本区别。

    在 PHP 代码中命名常量时,应始终使用大写字母。此外,常量仍然遵循标准变量命名规则。

    常量必须以字母或下划线开头,后跟字母、数字或下划线。但是,这将有助于避免编写以两个下划线开头和结尾的常量。PHP 的“魔术常量”通常使用这些。

    在代码中引用常量时,不要$在其名称前使用美元符号 ( )。因此,例如,您将使用“ FTP_DETAILS”而不是“ $FTP_DETAILS”。

    最后,默认情况下,常量可以在整个脚本中自动访问,这意味着 PHP 可以在整个代码中访问它们。

    使用 PHP 的 define() 函数定义常量

    define()函数是将变量定义为 PHP 语言中的常量的两种方法之一。它不像“ const”关键字那样易于阅读,但仍有一些优势。

    当使用此函数定义常量时,它们直到运行时才会被处理。这意味着您可以使用PHP 的条件语句来指示是否定义了常量。

    使用 define 函数的语法很简单,它只有两个你需要担心的参数。

    define(NAME, VALUE)
    

    第一个参数 ( NAME) 用于设置常量名称。

    请记住,在此处设置名称时,应使用大写字母。因此,例如,PHP 中常量的有效名称应该是“ FTP_DETAILS”。

    第二个 ( VALUE) 参数用于设置要分配给常量的值。

    使用 define() 在 PHP 中基本声明一个常量

    define()让我们向您展示使用该函数在 PHP 中声明一个常量是多么简单。

    我们将WEBSITE为此常量使用名称“”,并将值设置为包含“ pimylifeup.com”的字符串。

    您可以看到,当我们使用 define 函数时,我们将变量名传递给第一个参数,然后将我们想要设置的值传递给第二个参数。

    然后我们利用PHP 的内置 echo 函数来输出我们设置常量的值。

    1. define("WEBSITE", "pimylifeup.com");
    2. echo WEBSITE;
    3. ?>

    请记住,您必须避免$在其名称前使用美元符号 ( ) 来使用常量。一个常量纯粹是用它的名字来引用的。因此,例如,您将使用“ CONSTANT”,而不是“ $CONSTANT”。

    用 define() 声明的常量是全局的

    使用该define()函数声明的常量对当前 PHP 脚本全局可用。您甚至可以在函数和类中使用它。

    为了展示这一点,让我们编写一个简单的脚本。该脚本将包含一个被调用的函数,该函数将在调用foo()时输出我们的常量的值。

    通过这个示例,您可以看到如何在函数中仍然使用常量。

    1. define("WEBSITE", "pimylifeup.com");
    2. function foo() {
    3. echo WEBSITE;
    4. }
    5. foo();
    6. ?>

    同样,如果我们要编写一个名为 Bar 的简单类,您可以看到仍然可以在其中使用 PHP 常量。

    我们将使用与define()前面示例相同的“ ”函数。这次我们将创建一个简单的类,叫做“ Bar”。在这个类的构造方法中,我们将回显“ WEBSITE”常量的值。

    1. define("WEBSITE", "pimylifeup.com");
    2. class Bar
    3. {
    4. public function __construct() {
    5. echo WEBSITE;
    6. }
    7. }
    8. new Bar();
    9. ?>

    在不同的命名空间中声明 PHP 中的常量

    在使用不同命名空间的 define 函数时声明一个常量并不是最清晰的代码。默认情况下,define 函数也将默认使用全局命名空间。

    在特定命名空间中声明常量时,您需要将该命名空间作为其名称的一部分。

    例如,如果您希望常量成为名为“ pimylifeup”的名称空间的一部分,您可以使用“ pimylifeup\NAME”。

    下面的示例向您展示了如何在特定命名空间下使用 define 函数声明一个常量。

    然后我们打印在当前命名空间下创建的常量。

    1. namespace pimylifeup;
    2. define("pimylifeup\WEBSITE", "pimylifeup.com");
    3. echo namespace\WEBSITE;
    4. ?>

    除非需要,否则应使用“ const”关键字。它将自动在当前命名空间下声明。

    在 PHP 中使用 Define() 函数有条件地声明常量

    与“const”关键字相比,使用define() 函数来声明常量的主要优势在于处理它们的时间。

    直到运行时才使用该define()函数处理常量,这意味着可以有条件地设置它。

    相反,使用“ const”关键字定义的常量在编译时处理。这意味着它们是在任何代码运行之前定义的。

    在下面的例子中,我们使用“ defined()”函数来查看常量是否已经被定义。如果没有,我们声明它。

    如果可以在代码的其他地方定义常量,则此代码段很有用。

    1. if (!defined("WEBSITE")) {
    2. define("WEBSITE", "pimylifeup.com");
    3. }
    4. echo WEBSITE;
    5. ?>

    您可以将数组传递给 define() 函数

    从 PHP 7 开始,可以在使用 define 函数时使用数组作为常量的值。

    在 7.0 版本之前,每当您想将数组定义为常量时,都需要使用 const 关键字。

    您需要做的就是将值设置为数组。我们将编写一个简单的示例,FOOD用一个简单的数组声明“ ”常量。

    您可以像在 PHP 中访问普通数组一样访问常量数组的元素。通过下面的示例,我们将打印出数组的第三个元素。

    1. define("FOOD", [
    2. 'Apple',
    3. 'Carrot',
    4. 'Raspberry Pie'
    5. ];
    6. echo FOOD[2];
    7. ?>

    在 PHP 中使用 const 关键字定义一个常量

    在 PHP 中声明常量的第二种方法是使用 const 关键字。这被认为比使用“ define()”函数更具可读性,并且具有一些行为差异。

    使用 const 关键字时,会在编译时设置一个常量,而不是在运行时设置。不幸的是,这意味着您不能在条件语句中使用 const 关键字。

    与使用 define() 函数一样,您应该用大写字母或数字编写常量名称。

    在 PHP 中使用 const 关键字定义常量的基本语法如下所示。

    const NAME = value;

    const 关键字声明常量的基本用法

    对于本例,我们将使用 PHP 的 const 关键字声明一个新常量。我们将把这个常量命名为“ WEBSITE”并为其赋值“ pimylifeup.com”。

    声明后,我们将使用 echo 函数将常量的值打印到屏幕上。

    1. const WEBSITE = "pimylifeup.com";
    2. echo WEBSITE;
    3. ?>

    在 PHP 中使用 const 声明全局常量

    您可以使用 const 关键字在 PHP 中全局声明常量。您需要做的就是确保它在命名空间或类之外声明。

    通过下面的示例,您可以看到我们的“ WEBSITE”常量仍然可以从“ bar()”函数中访问。

    当函数被调用时,它会打印出我们全局常量的值。

    1. const WEBSITE = "pimylifeup.com";
    2. function bar() {
    3. echo WEBSITE;
    4. }
    5. bar();
    6. ?>

    您可以使用 const 关键字在 PHP 类中声明常量

    与 define 函数不同,您可以使用 const 关键字在类中声明常量。

    除非您以不同方式指定它,否则该常量将是可公开访问的。

    通过这个示例,我们将向您展示在 PHP 中声明和访问一个类中的常量的各种方法。

    当你在类中声明你的常量时,你可以通过使用“ self::”后跟常量名来访问它。

    在类之外,您可以通过静态访问类(例如“ foo::”)或通过创建输出常量值的函数来引用常量。

    1. class foo
    2. {
    3. const WEBSITE = "pimylifeup.com";
    4. function print_constant() {
    5. echo self::WEBSITE;
    6. }
    7. }
    8. echo foo::WEBSITE;
    9. $foobar = new foo();
    10. $foobar->print_constant();
    11. ?>

    使用 const 关键字声明的常量采用当前命名空间

    在 PHP 中使用 const 关键字声明的常量将采用当前设置的命名空间。

    这比使用定义函数要干净得多,在定义函数中,您必须在其声明中包含命名空间。

    下面的示例将向您展示使用 const 关键字在命名空间中声明常量是多么容易。然后我们打印声明的值。

    1. namespace helloworld;
    2. const WEBSITE = "pimylifeup.com";
    3. echo namespace\WEBSITE;
    4. ?>

    结论

    在本指南中,我们向您展示了在 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