代码如下 |
复制代码 |
class MyClass {
const CONSTANT = 'CONSTANT value' ; //使用const声明一个常量,并直接赋上初使值
function showConstant() {
echo self ::CONSTANT ." " ;//使用self访问常量,注意常量前不要加“$”
}
}
echo MyClass:: CONSTANT . " " ; //在类外部使用类名称访问常量,也不要加”$”
$class = new MyClass();
$class->showConstant();
echo $class ::CONSTANT; // PHP 5.3.0之后
?>
|
class MyClass {
const CONSTANT = 'CONSTANT value' ; //Use const to declare a constant and assign the initial value directly
代码如下 |
复制代码 |
class MyClass {
const CONSTANT = 'CONSTANT value' ;
function setCONSTANT(){
self ::CONSTANT = 'news CONSTANT' ;//程序运行结果将会出错。
}
}
echo MyClass:: CONSTANT ;
?>
|
function showConstant() {
echo self ::CONSTANT ." " ;//Use self to access constants, be careful not to add "$" before the constants
}
echo MyClass:: CONSTANT . " " ; //Use the class name to access constants outside the class, and do not add "$"
$class = new MyClass();
$class->showConstant();
echo $class ::CONSTANT; // After PHP 5.3.0
?>
Attention to details: There is no need to use the "$" symbol before a constant name defined using const, and constant names are usually in uppercase.
Attempting to assign a value to a constant defined by const will result in an error.
The code is as follows |
Copy code |
<🎜> class MyClass { <🎜>
<🎜> const CONSTANT = 'CONSTANT value' ; <🎜>
<🎜> function setCONSTANT(){ <🎜>
<🎜> Self :: constant = 'News Constant'; // The program running results will be wrong. <🎜>
<🎜> }
<🎜> } <🎜>
<🎜> echo MyClass:: CONSTANT ;
<🎜>?>
|
The program running result will be wrong.
The difference between using const modified constants and other constants is: do not use "$" before the constant name, remember! Of course, this constant value cannot be modified. Once defined, it cannot be "artificially" modified anywhere in the program. This is the same as using define to define, and using const to define of course also follows the naming rules of other constants
Extended reading:
There is no dollar sign ($) in front of the constant;
Constants can only be defined using the define() function, not assignment statements;
Constants can be defined and accessed anywhere regardless of variable scope rules;
Once a constant is defined, it cannot be redefined or undefined;
The value of a constant can only be a scalar;
Constants can only contain scalar data (boolean, integer, float and string), do not define resource constants.
You can use the function constant() to read the value of a constant. get_defined_constants() can get a list of all defined constants.
If an undefined constant is used, PHP assumes that what is wanted is the name of the constant itself, as if calling it with a string (CONSTANT corresponds to "CONSTANT"), and an E_NOTICE level error will be issued.
PHP’s “magic constants”.
Name
名称
|
说明
|
__LINE__
|
文件中的当前行号。
|
__FILE__
|
文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
|
__FUNCTION__
|
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
|
__CLASS__
|
类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
|
__METHOD__
|
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
|
|
Description
|
|
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn