search

[php manual] constants

May 15, 2018 pm 05:01 PM
phpconstantmanual

This article mainly introduces constants in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.

A constant is an identifier (name) of a simple value. The scope of constants is global. Constants are case-sensitive by default. Traditionally constant identifiers are always uppercase

Constant names follow the PHP tag naming rules, starting with a letter or underscore, followed by letters, numbers or underscores. The regular expression is: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

字母指的是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的 ASCII 字符。
Example #1 合法与非法的常量名
<?php
// 合法的常量名define("FOO",     
"something");define("FOO2",    
"something else");define("FOO_BAR", "something more");// 非法的常量名
define("2FOO",    "something");
// 下面的定义是合法的,但应该避免这样做:(自定义常量不要以__开头)
// 也许将来有一天PHP会定义一个__FOO__的魔术常量
// 这样就会与你的代码相冲突define("__FOO__", "something");
?>

Syntax

Define constants:

用 define() 函数定义常量。用 defined() 函数检查是否定义了某常量。
用 const 关键字在类定义之外定义常量(PHP 5.3.0)。

Using the const keyword to define constants must be in the topmost scope, because this method is defined at compile time. This means that you cannot use const to define constants inside functions, loops, and if statements.

常量只能包含标量数据(boolean,integer,float 和 string)。可以定义 resource 常量,
但会造成不可预料的结果。

动态常量名,用函数 constant() 获取常量值。用 get_defined_constants() 可以获得所有
已定义的常量列表。

The differences between constants and variables are as follows:

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

*常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
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 = &#39;Hello World&#39;;
echo CONSTANT;
?>

Magic constants

8 PHP "magic constants", as they are in the code changes due to change of position.

__LINE__    文件中的当前行号。

__FILE__    文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对
路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于
 dirname(__FILE__)。除非是根目录,否则目
录中名不包括末尾的斜杠。(PHP 5.3.0中新增) 

__CLASS__   类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字
(区分大小写)。在 PHP 4 中该值总是小写字母的。
类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 
trait 也起作用。当用在 trait 方法中时,__CLASS__ 是
调用 trait 方法的类的名字。


__METHOD__  类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__   当前命名空间的名称(区分大小写)。此常量是在编译时定义的
(PHP 5.3.0 新增)。
/*
__FUNCTION__ and __METHOD__ as in PHP 5.0.4 is that

__FUNCTION__ returns only the name of the function

while as __METHOD__ returns the name of the class alongwith the name of
the function
*/<?php
class trick{
      function doit()
      {
                echo __FUNCTION__;
      }      function doitagain()
      {
                echo __METHOD__;
      }
}$obj=new trick();$obj->doit();
// output will be ----  doit$obj->doitagain();
// output will be ----- trick::doitagain

Related recommendations:

Commonly used system constants and system variables in thinkphp

thinkphp5 Loading static resource paths and constants Method

PHP7 Kernel Analysis 4 Local Variables, Global Variables, Constants

The above is the detailed content of [php manual] constants. For more information, please follow other related articles on the PHP Chinese website!

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
Explain the concept of a PHP session in simple terms.Explain the concept of a PHP session in simple terms.Apr 26, 2025 am 12:09 AM

PHPsessionstrackuserdataacrossmultiplepagerequestsusingauniqueIDstoredinacookie.Here'showtomanagethemeffectively:1)Startasessionwithsession_start()andstoredatain$_SESSION.2)RegeneratethesessionIDafterloginwithsession_regenerate_id(true)topreventsessi

How do you loop through all the values stored in a PHP session?How do you loop through all the values stored in a PHP session?Apr 26, 2025 am 12:06 AM

In PHP, iterating through session data can be achieved through the following steps: 1. Start the session using session_start(). 2. Iterate through foreach loop through all key-value pairs in the $_SESSION array. 3. When processing complex data structures, use is_array() or is_object() functions and use print_r() to output detailed information. 4. When optimizing traversal, paging can be used to avoid processing large amounts of data at one time. This will help you manage and use PHP session data more efficiently in your actual project.

Explain how to use sessions for user authentication.Explain how to use sessions for user authentication.Apr 26, 2025 am 12:04 AM

The session realizes user authentication through the server-side state management mechanism. 1) Session creation and generation of unique IDs, 2) IDs are passed through cookies, 3) Server stores and accesses session data through IDs, 4) User authentication and status management are realized, improving application security and user experience.

Give an example of how to store a user's name in a PHP session.Give an example of how to store a user's name in a PHP session.Apr 26, 2025 am 12:03 AM

Tostoreauser'snameinaPHPsession,startthesessionwithsession_start(),thenassignthenameto$_SESSION['username'].1)Usesession_start()toinitializethesession.2)Assigntheuser'snameto$_SESSION['username'].Thisallowsyoutoaccessthenameacrossmultiplepages,enhanc

What are some common problems that can cause PHP sessions to fail?What are some common problems that can cause PHP sessions to fail?Apr 25, 2025 am 12:16 AM

Reasons for PHPSession failure include configuration errors, cookie issues, and session expiration. 1. Configuration error: Check and set the correct session.save_path. 2.Cookie problem: Make sure the cookie is set correctly. 3.Session expires: Adjust session.gc_maxlifetime value to extend session time.

How do you debug session-related issues in PHP?How do you debug session-related issues in PHP?Apr 25, 2025 am 12:12 AM

Methods to debug session problems in PHP include: 1. Check whether the session is started correctly; 2. Verify the delivery of the session ID; 3. Check the storage and reading of session data; 4. Check the server configuration. By outputting session ID and data, viewing session file content, etc., you can effectively diagnose and solve session-related problems.

What happens if session_start() is called multiple times?What happens if session_start() is called multiple times?Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

How do you configure the session lifetime in PHP?How do you configure the session lifetime in PHP?Apr 25, 2025 am 12:05 AM

Configuring the session lifecycle in PHP can be achieved by setting session.gc_maxlifetime and session.cookie_lifetime. 1) session.gc_maxlifetime controls the survival time of server-side session data, 2) session.cookie_lifetime controls the life cycle of client cookies. When set to 0, the cookie expires when the browser is closed.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),