PHP PHP中有哪些预定义变量

PHP PHP中有哪些预定义变量

在本文中,我们将介绍PHP中的预定义变量。PHP是一种广泛使用的服务器端脚本语言,用于开发动态网页和应用程序。PHP中的预定义变量在不同的环境中都可以自动使用,无需事先声明。

阅读更多:PHP 教程

超级全局变量

PHP中的超级全局变量是一组在所有作用域中自动可用的变量,无需使用global关键字进行声明。以下是PHP中常见的超级全局变量:

  1. $GLOBALS:在 PHP 脚本中的任意函数或方法中,可以访问全局变量。使用$GLOBALS数组可以访问全局变量。
    $x = 5;
    function test() {
       $y = 10;
       echo $GLOBALS['x'] + $y;
    }
    test();  // 输出 15
    
  2. $_SERVER:包含了服务器和执行环境相关的信息。
    echo _SERVER['SERVER_NAME'];  // 输出当前服务器的主机名
    echo_SERVER['REMOTE_ADDR'];  // 输出客户端的IP地址
    
  3. $_GET$_POST:用于收集表单数据或者通过URL传递的参数。
    $name = $_GET['name'];  // 获取URL中的参数值
    $name = $_POST['name'];  // 获取表单中的输入值
    
  4. $_REQUEST:用于同时收集通过GET和POST方法提交的数据。
    $name = $_REQUEST['name'];  // 获取通过GET或POST方法提交的数据值
    
  5. $_SESSION:用于存储和访问会话变量。
    session_start();
    _SESSION['username'] = 'John';
    echo_SESSION['username'];  // 输出 John
    
  6. $_COOKIE:用于存储和访问 Cookie 值。
    echo $_COOKIE['username'];  // 输出 Cookie 中的用户名
    
  7. $_FILES:用于上传文件时存储文件相关的信息。
    $file_name = $_FILES['file']['name'];  // 获取上传文件的文件名
    $file_size = $_FILES['file']['size'];  // 获取上传文件的文件大小
    
  8. $_ENV:用于存储和访问环境变量。
    echo $_ENV['PATH'];  // 输出环境变量 PATH 的值
    
  9. $_REQUEST:用于同时收集通过 GET、POST 和 COOKIE 传递的数据。
    $name = $_REQUEST['name'];  // 获取通过 GET、POST 或 COOKIE 方法传递的数据值
    

预定义常量

除了预定义变量外,PHP还提供了一些预定义常量,这些常量在所有作用域中都可以直接使用。下面是一些常见的预定义常量:

  1. __FILE__:当前文件的完整路径和文件名。
    echo __FILE__;  // 输出当前文件的路径和文件名
    
  2. __LINE__:当前行号。
    echo __LINE__;  // 输出当前行号
    
  3. __DIR__:当前文件所在的目录。
    echo __DIR__;  // 输出当前文件的目录路径
    
  4. __FUNCTION__:当前函数的名称。
    function test() {
       echo __FUNCTION__;  // 输出当前函数的名称
    }
    test();  // 输出 test
    
  5. __CLASS__:当前类的名称。
    class MyClass {
       public function getClassName() {
           echo __CLASS__;  // 输出当前类的名称
       }
    }
    obj = new MyClass();obj->getClassName();  // 输出 MyClass
    
  6. __TRAIT__:当前 trait 的名称。
    trait MyTrait {
       public function getTraitName() {
           echo __TRAIT__;  // 输出当前 trait 的名称
       }
    }
    class MyClass {
       use MyTrait;
    }
    obj = new MyClass();obj->getTraitName();  // 输出 MyTrait
    
  7. __METHOD__:当前方法的名称。
    class MyClass {
       public function getMethodName() {
           echo __METHOD__;  // 输出当前方法的名称
       }
    }
    obj = new MyClass();obj->getMethodName();  // 输出 MyClass::getMethodName
    
  8. __NAMESPACE__:当前命名空间的名称。
    namespace MyNamespace;
    echo __NAMESPACE__;  // 输出当前命名空间的名称
    

自定义预定义变量

除了PHP中的预定义变量,我们还可以自定义预定义变量。通过在php.ini文件中使用auto_prepend_file或者auto_append_file设置,我们可以在每个PHP文件的起始或结束位置加载一个PHP脚本。

例如,我们在php.ini文件中设置auto_prepend_file/path/to/vars.php,vars.php文件中包含以下内容:

<?php
siteName = "My Website";adminEmail = "admin@mywebsite.com";

现在,我们可以在任何PHP文件中直接访问$siteName$adminEmail变量,无需事先声明:

echo siteName;  // 输出 My Website
echoadminEmail;  // 输出 admin@mywebsite.com

这样,我们就可以方便地在不同的文件中共享变量值。

总结

本文介绍了PHP中的预定义变量。从超级全局变量和预定义常量到自定义预定义变量,PHP提供了许多方便的变量来处理不同的场景和需求。了解和熟练使用这些预定义变量将有助于开发更高效和灵活的PHP应用程序。无论是获取表单数据、处理用户会话还是访问服务器环境信息,PHP的预定义变量为我们提供了便捷的方法。希望本文对您理解和使用PHP中的预定义变量有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程