php基础之预定义变量,php定义静态变量

本文目录一览:

在PHP中,预定义的常量和变量,是怎么使用和输出的?

几个 PHP 的“魔术常量”

__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 新加)。返回该方法被定义时的名字(区分大小写)。

PHP的预定义变量和常量都有什么?

PHP 在常量中定义了以下一些常量。

__FILE__

这个默认常量是 PHP 程序文件名。若引用文件 (include 或 require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名。

__LINE__

这个默认常量是 PHP 程序行数。若引用文件 (include 或 require)则在引用文件内的该常量为引用文件的行,而不是引用它的文件行。

PHP_VERSION

这个内建常量是 PHP 程序的版本,如 ‘3.0.8-dev’。

PHP_OS

这个内建常量指执行 PHP 解析器的操作系统名称,如 ‘Linux’。

TRUE

这个常量就是真值 (true)。

FALSE

这个常量就是伪值 (false)。

E_ERROR

这个常量指到最近的错误处。

E_WARNING

这个常量指到最近的警告处。

E_PARSE

本常式为解析语法有潜在问题处。

E_NOTICE

这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。

这些 E_ 开头形式的常量,可以参考 error_reporting() 函数,有更多的相关说明。

当然在程序写作时,以上的默认常量是不够用。define() 的功能可以让我们自行定义所需要的常量。见下例

?php

define(“COPYRIGHT”, “Copyright © 2000, netleader.126.com”);

echo COPYRIGHT;

?

php预定义变量有哪些

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量

$GLOBALS — 引用全局作用域中可用的全部变量

$_SERVER — 服务器和执行环境信息

$_GET — HTTP GET 变量

$_POST — HTTP POST 变量

$_FILES — HTTP 文件上传变量

$_REQUEST — HTTP Request 变量

$_SESSION — Session 变量

$_ENV — 环境变量

$_COOKIE — HTTP Cookies

$php_errormsg — 前一个错误信息

$HTTP_RAW_POST_DATA — 原生POST数据

$http_response_header — HTTP 响应头

$argc — 传递给脚本的参数数目

$argv — 传递给脚本的参数数组

php全局变量和php预定义变量

仅供参考,更多,可以查看

预定义变量

PHP 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量在 PHP 以命令行形式运行时并不生效。有关这些变量的详细列表,请参阅预定义变量一章。

Warning

PHP 4.2.0 以及后续版本中,PHP 指令 register_globals 的默认值为 off。这是 PHP 的一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。例如,为了得到 DOCUMENT_ROOT 的值,将必须使用 $_SERVER[‘DOCUMENT_ROOT’] 代替 $DOCUMENT_ROOT,又如,使用 $_GET[‘id’] 来代替 $id 从 URL 中获取 id 值,亦或使用 $_ENV[‘HOME’] 来代替 $HOME 获取环境变量 HOME 的值。

更多相关信息,请阅读 register_globals 的配置项条目,安全一章中的使用 Register Globals,以及 PHP » 4.1.0 和 » 4.2.0 的发行通告。

如果有可用的 PHP 预定义变量那最好用,如超全局变量。

从 PHP 4.1.0 开始,PHP 提供了一套附加的预定数组,这些数组变量包含了来自 web 服务器(如果可用),运行环境,和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效,例如,在任何范围内自动生效。因此通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals)。(PHP 中没有用户自定义超全局变量的机制。)超全局变量罗列于下文中;但是为了得到它们的内容和关于 PHP 预定义变量的进一步的讨论以及它们的本质,请参阅预定义变量。而且,你也将注意到旧的预定义数组($HTTP_*_VARS)仍旧存在。自 PHP 5.0.0 起,长格式的 PHP 预定义变量可以通过设置 register_long_arrays 来屏蔽。

Note: 可变变量 超级全局变量不能被用作可变变量。

Note: 尽管超全局变量和 HTTP_*_VARS 同时存在。但是他们并不是同一个变量,所以改变一个的值并不会对另一个产生影响。

如果某些 variables_order 中的变量没有设定,它们的对应的 PHP 预定义数组也是空的。

PHP 超全局变量

$GLOBALS

包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。

$_SERVER

变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。

$_GET

经由 URL 请求提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。

$_POST

经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。

$_COOKIE

经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。

$_FILES

经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。

$_ENV

执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。

$_REQUEST

经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。此数组在 PHP 4.1.0 之前没有直接对应的版本。参见 import_request_variables()。

Caution

自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。

Note: 当运行于命令行模式时,此数组将不会包含 argv 和 argc 条目;它们已经存在于数组 $_SERVER 中。

$_SESSION

当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。

什么是php 预定义变量

定义一个变量并初始化:$name = ”;

可以初始化任意类型的数据。

PHP如何添加预定义常量或变量

常量使用define语句定义即可

全局变量可以定义到全局变量数组$GLOBALS中

参考手册 : …

看题主的问法,感觉”环境变量”可能符合题主要求

nginx配置PHP server的时候可以增加以下指令

fastcgi_param CUSTOM_ENV_VAR “my_env_value”;

之后只要是通过nginx访问的PHP请求,在任何代码中中使用 $_SERVER[‘CUSTOM_ENV_VAR’] 就能取到你需要的值

又或者在fastcgi的配置文件中增加一行:

env[CUSTOM_ENV_VAR]=”my_env_value”

之后只要是php-fastcgi处理的PHP文件,都可以通过 getenv(‘CUSTOM_ENV_VAR’); 来获取设置的值

如果题主确实打算不亲自define而要得到类似E_ALL那样的常量的话,就需要写点C了

题主可以新建一个自己的扩展(或者直接随便找个你会编译的扩展也行),在PHP_MINIT_FUNCTION中使用以下宏来定义自己的常量

REGISTER_STRINGL_CONSTANT(“MY_SITE_VERSION”, “1.0”, 3, CONST_PERSISTENT);

之后重新编译PHP即可.

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/197127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-03 13:27
下一篇 2024-12-03 13:27

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python定义函数判断奇偶数

    本文将从多个方面详细阐述Python定义函数判断奇偶数的方法,并提供完整的代码示例。 一、初步了解Python函数 在介绍Python如何定义函数判断奇偶数之前,我们先来了解一下P…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python中的队列定义

    本篇文章旨在深入阐述Python中队列的定义及其应用,包括队列的定义、队列的类型、队列的操作以及队列的应用。同时,我们也会为您提供Python代码示例。 一、队列的定义 队列是一种…

    编程 2025-04-29
  • 数据结构与算法基础青岛大学PPT解析

    本文将从多个方面对数据结构与算法基础青岛大学PPT进行详细的阐述,包括数据类型、集合类型、排序算法、字符串匹配和动态规划等内容。通过对这些内容的解析,读者可以更好地了解数据结构与算…

    编程 2025-04-29
  • Python符号定义和使用方法

    本文将从多个方面介绍Python符号的定义和使用方法,涉及注释、变量、运算符、条件语句和循环等多个方面。 一、注释 1、单行注释 # 这是一条单行注释 2、多行注释 “”” 这是一…

    编程 2025-04-29
  • Centos7配置静态ip

    本文将详细阐述如何在Centos7系统中配置静态ip。 一、查看网络接口 在配置静态ip之前,我们首先需要查看系统中的网络接口,以确定我们需要配置的网卡是哪一个。 ifconfig…

    编程 2025-04-29
  • 树莓派DIY无人机一:制作基础

    本文将介绍如何使用树莓派制作一个可飞行的小型无人机。本文将介绍树莓派的选型、比例积木的使用、无线电通信以及如何控制飞行器的基本运动。 一、树莓派的选型 在DIY无人机中,树莓派是必…

    编程 2025-04-29

发表回复

登录后才能评论