[Day5]PHP常量

PHP常量

可以使用 const 关键字或 define() 函数两种方法来定义一个常量。函数 define() 允许将常量定义为一个表达式,而 const 关键字有一些限制。一个常量一旦被定义,就不能再改变或者取消定义。

使用 const 关键字定义常量时,只能包含标量数据(bool、int、float 、string)。可以将常量定义为一个表达式,也可以定义为一个 array。还可以定义 resource 为常量,但应尽量避免,因为可能会造成不可预料的结果。

可以简单的通过指定其名字来取得常量的值,与变量不同,不应该在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数 constant() 来获取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。

以下为定义常量范例

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // 输出 "Hello world."
echo Constant; // 抛出错误:未定义的常量 "Constant"
               // 在 PHP 8.0.0 之前,输出 "Constant" 会并发出一个提示级别错误讯息
?>

以下范例为使用关键字 const 定义常量

<?php
// 简单的标量值
const CONSTANT = 'Hello World';

echo CONSTANT;

// 标量表达式
const ANOTHER_CONST = CONSTANT.'; Goodbye World';
echo ANOTHER_CONST;

const ANIMALS = array('dog', 'cat', 'bird');
echo ANIMALS[1]; // 将输出 "cat"

// 常量数组
define('ANIMALS', array(
    'dog',
    'cat',
    'bird'
));
echo ANIMALS[1]; // 将输出 "cat"
?>

魔术常量

https://ithelp.ithome.com.tw/upload/images/20210905/20128999Lb6nlXBQ2l.jpg

以下为魔术常量范例:

<?php
namespace UserModel {
    class User {
        public function __construct() {
            echo 'I am in '.__CLASS__."\n";
        }
        public function showData() {
            echo 'I am in '.__METHOD__."\n";
        }
    }
   
    $obj = new User;
    $obj->showData();
    echo __NAMESPACE__;
}
?>

// outputs
// I am in UserModel\User
// I am in UserModel\User::showData
// UserModel

资料来源:https://www.php.net/manual/zh/


<<:  [Day 6 ] 想发表作品,先学会使用 Github 生成静态网页吧!

>>:  资安制度建立前须蒐集的资料

2.2 Design System - 设计语言 (9/24 updated)

对於「台大、中兴事件」的看法 身为毕业多年,曾在世俗定义的中庸学校跟好学校都待过的我,看到这事件只...

Day10 OLED进化成Micro OLED後来找Micro LED报仇了!?

上一期说到Micro LED的厉害之处,不过今天要说的是Micro OLED,Micro OLED继...

Day13 Function Component的生命周期 - UseEffect

在Hook尚未出现之前,只有Class Component能够有生命周期可以使用。 什麽是生命周期?...

Day15 Loops(Ⅱ)

While顾名思义就是,当…,所以当我们假设的条件成立时,就会执行回圈内的东西,否则就执行回圈外的程...

[Day20] JavaScript - Event Bubbling (事件冒泡) & Event Capturing (事件捕获)

Event Flow 事件流 DOM的Event flow概念,指的是「网页元素接收事件的顺序」。 ...