本文总结了PHP 预定义变量、魔术常量和魔术方法。分享给大家供大家参考,具体如下: PHP 预定义了一些变量、常量、方法,使用起来很方便,例如直接使用 __DIR__ 获取当前文件所在的目录。 下面分别详细介绍一下 PHP 的预定义变量、魔术常量和魔术方法 预定义变量 超全局变量: 超全局变量是在全部作用域中始终可用的内置变量,意味这你可以在 PHP 脚本的任意位置直接访问。在函数或方法中无需执行 global $variable; 就可以访问它们。 超全局变量是从 PHP 4.1.0 开始才有的功能。 PHP 的超级全局变量有: $GLOBALS,引用全局作用域中可用的全部变量 $_SERV PHP是一种广泛使用的开源脚本语言,特别适合于Web开发。在PHP中,预定义变量、魔术常量和魔术方法是其特性和功能的重要组成部分,它们提供了便利的编程体验。 预定义变量,也被称为超全局变量,是PHP内建的一系列全局变量,可以在脚本的任何地方直接使用,无需特殊声明或`global`关键字。这些变量包括: 1. `$GLOBALS`: 可以访问全局作用域中的所有变量。 2. `$_SERVER`: 包含服务器和执行环境信息,如HTTP方法、请求URI等。 3. `$_GET`: 存储HTTP GET请求的数据。 4. `$_POST`: 存储HTTP POST请求的数据。 5. `$_FILES`: 用于处理通过HTTP POST方式上传的文件信息。 6. `$_COOKIE`: 存储HTTP Cookie数据。 7. `$_SESSION`: 用于存储用户会话数据。 8. `$_REQUEST`: 合并`$_GET`、`$_POST`和`$_COOKIE`,获取HTTP请求的全部数据。 9. `$_ENV`: 获取环境变量。 10. `$php_errormsg`:记录最近一次错误的描述。 11. `$HTTP_RAW_POST_DATA`: 原始POST数据,但通常推荐使用`php://input`替代。 12. `$http_response_header`: HTTP响应头数组。 13. `$argc`: 传递给脚本的参数数量。 14. `$argv`: 传递给脚本的参数数组。 魔术常量是PHP中特殊的常量,它们的值根据它们在代码中的位置自动改变。比如: 1. `__LINE__`: 返回当前代码行号。 2. `__FILE__`: 返回当前文件的完整路径和文件名。 3. `__DIR__`: 返回当前文件所在的目录,等于`dirname(__FILE__)`。 4. `__FUNCTION__`: 返回当前函数的名称。 5. `__CLASS__`: 返回当前类的名称。 6. `__TRAIT__`: 返回当前trait的名称。 7. `__METHOD__`: 返回当前类的方法名。 8. `__NAMESPACE__`: 返回当前命名空间的名称。 魔术方法是PHP中具有特殊功能的预定义方法,它们的名字以两个下划线`__`开头,不能被用户自定义。这些方法在特定情况下自动调用: 1. `__construct()`: 对象创建时自动调用的构造方法。 2. `__destruct()`: 对象销毁前自动调用的析构方法。 3. `__call()`: 当尝试调用对象上不存在的方法时,自动调用此方法。 4. `__callStatic()`: 当尝试调用静态对象上不存在的方法时,自动调用此方法。 5. `__get()`: 访问不可访问的属性时,自动调用。 6. `__set()`: 给不可访问的属性赋值时,自动调用。 7. `__isset()`: 使用`isset()`或`empty()`检查不可访问属性时,自动调用。 8. `__unset()`: 使用`unset()`删除不可访问属性时,自动调用。 9. `__sleep()`: 对象序列化前调用,允许对象在序列化前进行清理操作。 10. `__wakeup()`: 对象反序列化后调用,用于恢复对象状态。 11. `__toString()`: 当对象被当作字符串使用时,自动调用,返回字符串内容。 12. `__invoke()`: 当对象被当作函数调用时,自动调用。 13. `__set_state()`: `var_export()`导出对象时调用。 14. `__clone()`: 对象复制时调用,用于处理复制操作。 15. `__autoload($class_name)`: 自动加载未定义的类,常用于类的懒加载。 理解并熟练运用这些预定义变量、魔术常量和魔术方法,可以显著提高PHP编程效率,并使代码更加简洁和高效。在实际开发中,应根据需求灵活使用这些特性,遵循最佳实践,以保证代码的质量和可维护性。
- 粉丝: 9
- 资源: 901
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助