• php 常量


    1.语法

    可以用 define() 函数来定义常量,在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量。一个常量一旦被定义,就不能再改变或者取消定义。可以简单的通过指定其名字来取得常量的值,与变量不同,不应该在常量前面加上 $ 符号。

    常量和变量有如下不同:

    • 常量前面没有美元符号($);
    • 常量只能用 define() 函数定义,而不能通过赋值语句;
    • 常量可以不用理会变量的作用域而在任何地方定义和访问;
    • 常量一旦定义就不能被重新定义或者取消定义;
    • 常量的值只能是标量。
    • 如果只想检查是否定义了某常量,用 defined() 函数。

    Example 1:定义常量

    <?php
    define("CONSTANT", "Hello world.");
    echo CONSTANT; // outputs "Hello world."
    echo Constant; // 输出 "Constant" 并发出一个提示级别错误信息
    ?>

    Example 2:使用const关键字定义常量

    <?php
    // 以下代码在 PHP 5.3.0 后可以正常工作
    const CONSTANT = 'Hello World';
    
    echo CONSTANT;
    ?>

    注意:和使用 define() 来定义常量相反的是,使用 const 关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。

    2.魔术常量

    PHP 向它运行的任何脚本提供了大量的预定义常量。有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

                                       几个 PHP 的“魔术常量”

    __LINE__ 文件中的当前行号。
    __FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
    __DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于dirname(__FILE__)
    __FUNCTION__ 函数名称。自PHP5起本常量返回该函数被定义时的名字(区分大小写)
    __CLASS__ 类的名称。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)
    __METHOD__ 类的方法名。返回该方法被定义时的名字(区分大小写)。
    __NAMESPACE__ 当前命名空间的名称(区分大小写)。

    __FUNCTION__ 与 __METHOD__的区别:

    __FUNCTION__只返回函数的名字,而__METHOD__会返回类名及函数名。

    class trick
    {
          function doit()
          {
                    echo __FUNCTION__;  //输出 doit
          }
          function doitagain()
          {
                    echo __METHOD__;  //输出 trick::doitagain
          }
    }
  • 相关阅读:
    JavaScript WebSocket C# SuperSocket.WebSocket 示例
    Nginx 配置
    Temporary Post Used For Theme Detection (272f6d70fb8946f3a568afd3d7b053bd 3bfe001a32de4114a6b44005b770f6d7)
    SpringBoot多数据源事务解决方案
    SpringBoot集成mybatis拦截器修改表名
    点击各个按钮,在执行操作之前出现确认提示框
    incoming change和current change
    Expected Number with value 8, got String with value "8".
    正则只能输入数字遇到的问题
    Antd 4.19 Modal + Form;打开modal时使用setFieldsValue,首次回显正常,第二次无效?
  • 原文地址:https://www.cnblogs.com/weekend001/p/3487033.html
Copyright © 2020-2023  润新知