php笔记之系统常量魔术方法备忘录

【1】php超全局变量(系统变量)

$GLOBALS //引用全局作用域中可用的全部变量
$_SERVER //包含如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
$_REQUEST //默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
$_POST //post方式时,以关联数组传入脚本,参数传递给当前脚本的变量的数组
$_GET //get方式时,以关联数组传入脚本,参数传递给当前脚本的变量的数组
$_FILES //通过 HTTP POST 方式上传到当前脚本的项目的数组
$_ENV //通过环境方式传递给当前脚本的变量的数组。
$_COOKIE //通过Cookies 方式传递给当前脚本的变量的数组,临时会话变量,用来储存访问者信息
$_SESSION //通过Session方式传递给当前脚本的变量的数组,临时会话变量,用来储存访问者信息
$php_errormsg //变量包含由 PHP 生成的最新错误信息,需开启 track_errors 配置项
$HTTP_RAW_POST_DATA //包含 POST 提交的原始数据
$http_response_header //当使用HTTP 包装器时,$http_response_header 将会被 HTTP 响应头信息填充,作用于局部
$argc //运行于命令行下时传递给当前脚本的参数的数目,文件名总是作为参数传递给当前脚本,最小值为 1。
(来源于官网)

【2】php系统常量

__FILE__ 当前PHP文件的相对路径

__LINE__ 当前PHP文件中所在的行号

__FUNCTION__ 当前函数名,只对函数内调用起作用

__CLASS__ 当前类名,只对类起作用

PHP_VERSION 当前使用的PHP版本号

PHP_OS 当前PHP环境的运行操作系统

TRUEtrue一样

FALSEfalse一样

M_PI 圆周率常量值

M_E 科学常数e

M_LOG2E 代表log2

e,以2为底e的对数

M_LOG10E 代表lg

e,以10为底e的对数

M_LN2 2的自然对数

M_LN10 10的自然对数

E_ERROR 最近的错误之处

E_WARNING 最近的警告之处

E_PARSE 剖析语法有潜在问题之处

__METHOD__ 表示类方法名,比如B::test

__DIR__ 表示文件所在目录

__NAMESPACE__ 表示当前命名空间(区分大小写)
(来源csdn博客搜集)

【补充】php预定义常量

(1)预定义 phpcredits() 常量

常量			值	描述
CREDITS_GROUP	1	核心开发者名单
CREDITS_GENERAL	2	总的贡献:语言设计和理念,PHP 作者 和 SAPI 模块。
CREDITS_SAPI	4	PHP 的服务器 API 模块列表,以及它们的作者。
CREDITS_MODULES	8	PHP 扩展的列表,以及它们的作者。
CREDITS_DOCS	16	文档组的贡献。
CREDITS_FULLPAGE 32	通常与其他标志组合使用。通过其他标志指示了完整独立的 HTML 页面,用于打印包含信息。
CREDITS_QA	64	质量保证团队的贡献。
CREDITS_ALL	-1	所有的贡献者,等于使用 CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE。 它以合适的标签产生了完整的独立 HTML 页面。这是默认的值。

(2)phpinfo() 常量

INFO_GENERAL	1	配置行,php.ini 的位置、构建日期,Web 服务器、操作系统及其他。
INFO_CREDITS	2	PHP 贡献者。参见 phpcredits()INFO_CONFIGURATION	4	当前 PHP 指令的本地(Local)和主(Master)值。参见 ini_get()INFO_MODULES	8	已加载的模块和各自的设置。
INFO_ENVIRONMENT	16	环境变量信息在 $_ENV 中亦有效。
INFO_VARIABLES	32	显示所有 EGPCS (环境变量、GETPOST、Cookie、Server)中的预定义变量。
INFO_LICENSE	64	PHP 版权信息。参见 » license faq。
INFO_ALL	-1	显示以上所有。这是默认值。

(3)INI 常量

INI_USER	1	Unused
INI_PERDIR	2	Unused
INI_SYSTEM	4	Unused
INI_ALL	7	Unused

(4)assert() 常量

ASSERT_ACTIVE	assert.active	启用 assert()ASSERT_CALLBACK	assert.callback	失败断言的回调函数。
ASSERT_BAIL	assert.bail	断言失败时中止执行。
ASSERT_WARNING	assert.warning	为每个失败的断言产生一条 PHP 警告。
ASSERT_QUIET_EVAL	assert.quiet_eval	在执行断言表达式时禁用 error_reporting。

(5)Windows 特定常量 -PHP 5.3.0 起有效

PHP_WINDOWS_VERSION_MAJOR	windows 主版本,可以是 4 (NT4/Me/98/95)5 (XP/2003 R2/2003/2000)6 (Vista/2008/7/8/8.1)PHP_WINDOWS_VERSION_MINOR	Windows 副版本号,可以是 0 (Vista/2008/2000/NT4/95)1 (XP)2 (2003 R2/2003/XP x64)10 (98)90 (ME)PHP_WINDOWS_VERSION_BUILD	Windows 内部版本号(例如 Windows Vista SP1 是 build 6001)
PHP_WINDOWS_VERSION_PLATFORM	PHP 当前运行的平台, Windows Vista/XP/2000/NT4、Server 2008/2003 的值是 2, Windows ME/98/95 下值是 1PHP_WINDOWS_VERSION_SP_MAJOR	安装的 service pack 主版本号,没有安装是 0。 例如, Windows XP service pack 3 上这个值是 3PHP_WINDOWS_VERSION_SP_MINOR	安装的 service pack 副版本号,如果没有安装则是 0PHP_WINDOWS_VERSION_SUITEMASK	The suitemask is a bitmask that can tell if various features of Windows is installed, see the table below for possible bitfield values.
PHP_WINDOWS_VERSION_PRODUCTTYPE	This contains the value used to determine the PHP_WINDOWS_NT_* constants. This value may be one of the PHP_WINDOWS_NT_* constants indicating the platform type.
PHP_WINDOWS_NT_DOMAIN_CONTROLLER	这是域控制器
PHP_WINDOWS_NT_SERVER	这是一个服务器系统 (eg. Server 2008/2003/2000),注意如果这是一个域控制器,通过 PHP_WINDOWS_NT_DOMAIN_CONTROLLER 报告。
PHP_WINDOWS_NT_WORKSTATION	这是一个工作站系统 (例如 Vista/XP/2000/NT4)

【3】thinkphp 常量参考

3.1预定义常量

URL_COMMON    普通模式 URL0URL_PATHINFO  PATHINFO URL1URL_REWRITE   REWRITE URL2URL_COMPAT    兼容模式 URL3EXT           类库文件后缀(.class.php)
THINK_VERSION 框架版本号 

3.2路径常量

THINK_PATH 框架系统目录 
APP_PATH 应用目录(默认为入口文件所在目录)
LIB_PATH 系统类库目录(默认为 THINK_PATH.'Library/'CORE_PATH 系统核心类库目录 (默认为 LIB_PATH.'Think/'MODE_PATH 系统应用模式目录 (默认为 THINK_PATH.'Mode/'BEHAVIOR_PATH 行为目录 (默认为 LIB_PATH.'Behavior/'COMMON_PATH 公共模块目录 (默认为 APP_PATH.'Common/'VENDOR_PATH 第三方类库目录(默认为 LIB_PATH.'Vendor/'RUNTIME_PATH 应用运行时目录(默认为 APP_PATH.'Runtime/'HTML_PATH 应用静态缓存目录(默认为 APP_PATH.'Html/'CONF_PATH 应用公共配置目录(默认为 COMMON_PATH.'Conf/'LANG_PATH 公共语言包目录 (默认为 COMMON_PATH.'Lang/'LOG_PATH 应用日志目录 (默认为 RUNTIME_PATH.'Logs/'CACHE_PATH 项目模板缓存目录(默认为 RUNTIME_PATH.'Cache/'TEMP_PATH 应用缓存目录(默认为 RUNTIME_PATH.'Temp/'DATA_PATH 应用数据目录 (默认为 RUNTIME_PATH.'Data/'ADDON_PATH 插件控制器目录 (默认为 APP_PATH.'Addon'3.2.3新增

3.2系统常量

IS_CGI 是否属于 CGI模式  
IS_WIN 是否属于Windows 环境  
IS_CLI 是否属于命令行模式  
__ROOT__ 网站根目录地址  
__APP__ 当前应用(入口文件)地址  
__MODULE__ 当前模块的URL地址  
__CONTROLLER__ 当前控制器的URL地址  
__ACTION__ 当前操作的URL地址  
__SELF__ 当前URL地址  
__INFO__ 当前的PATH_INFO字符串  
__EXT__ 当前URL地址的扩展名  
MODULE_NAME 当前模块名  
MODULE_PATH 当前模块路径
CONTROLLER_NAME 当前控制器名  
CONTROLLER_PATH 当前控制器路径 3.2.3新增
ACTION_NAME 当前操作名  
APP_DEBUG 是否开启调试模式  
APP_MODE 当前应用模式名称  
APP_STATUS 当前应用状态
STORAGE_TYPE 当前存储类型
MODULE_PATHINFO_DEPR 模块的PATHINFO分割符
MEMORY_LIMIT_ON 系统内存统计支持  
RUNTIME_FILE 项目编译缓存文件名  
THEME_NAME 当前主题名称  
THEME_PATH 当前模板主题路径  
LANG_SET 当前浏览器语言  
MAGIC_QUOTES_GPC MAGIC_QUOTES_GPC 
NOW_TIME 当前请求时间(时间戳)
REQUEST_METHOD 当前请求类型
IS_GET 当前是否GET请求 
IS_POST 当前是否POST请求
IS_PUT 当前是否PUT请求 
IS_DELETE 当前是否DELETE请求 
IS_AJAX 当前是否AJAX请求 
BIND_MODULE 当前绑定的模块(3.2.1新增)
BIND_CONTROLLER 当前绑定的控制器(3.2.1新增)
BIND_ACTION 当前绑定的操作(3.2.1新增)
CONF_EXT 配置文件后缀(3.2.2新增)
CONF_PARSE 配置文件解析方法(3.2.2新增)
TMPL_PATH 用于改变全局视图目录(3.2.3新增)

【4】php魔术

4.1php魔术常量

__LINE__	文件中的当前行号。
__FILE__	文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__DIR__	文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__	函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__	类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4__CLASS__trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
__TRAIT__	Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__	类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__	当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

4.2php魔术方法

construct()__destruct()__call()__callStatic()__get()__set()__isset()__unset()__sleep()__wakeup()__toString()__invoke()__set_state()__clone()__debugInfo() 等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。

1. __construce()

允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

2. __destruct()

PHP 5 引入了析构函数的概念,这类似于其它面向对象的语言,如 C++。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

3. __call()

在对象中调用一个不可访问方法时,__call() 会被调用。

4. __callStatic()

在对象中调用一个静态不可访问方法时,__call() 会被调用。

5. __get()

读取不可访问属性的值时,__get() 会被调用

6. _set()

在给不可访问属性赋值时,__set() 会被调用

7. __isset()

当对不可访问属性调用 isset()empty() 时,__isset() 会被调用。

8. __unset()

当对不可访问属性调用 unset() 时,__unset() 会被调用。

9. __sleep()

serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组

10. __wakeup()

unserialize() 会检查是否存在一个 __wakeup() 方法。如果存在,则会先调用 __wakeup 方法,预先准备对象需要的资源.

11. __toString()

__toString() 方法用于一个类被当成字符串时应怎样回应。

12. __invoke()

当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。

13. __set_state()

当调用 var_export() 导出类时,此静态 方法会被调用。

14. __clone()

当复制完成时,如果定义了 __clone() 方法,则新创建的对象(复制生成的对象)中的 __clone() 方法会被调用,可用于修改属性的值(如果有必要的话)。

15 __debugInfo()

 (来源于csdn博客)

【5】thinkphp魔术

5.1 tp魔术方法

_get 获取GET参数 
_post 获取POST参数 
_param 自动判断请求类型获取GETPOST或者PUT参数(3.1新增) 
_request 获取REQUEST 参数 
_put 获取PUT 参数 
_session 获取 $_SESSION 参数 
_cookie 获取 $_COOKIE 参数 
_server 获取 $_SERVER 参数 

5.2tp模板魔术常量

../Public:当前项目的公共模板目录,通常是 /项目目录/Tpl/default/Public/
__PUBLIC__:当前网站的公共目录,通常是 /Public/
__TMPL__:项目的模板目录,通常是 /项目目录/Tpl/default/
__ROOT__:当前网站的地址(不含域名)
__APP__:当前项目的 URL 地址(不含域名)
__URL__:当前模块的 URL 地址(不含域名)
__ACTION__:当前操作的 URL 地址(不含域名)
__SELF__:当前的页面 URL

以上来源于官网与手册和博客的内容汇总整理方便查阅

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值