0

现在我知道File1.php该文件是否包含我想要共享的变量。我可以:

  1. 在声明变量的文件中包含需要使用变量的文件。

    文件1.php

    <?php
        session_start();
        $username="user1";
        $_SESSION['username']=$username;
        include('File2.php');
    ?>
    

    在 File2.php 中,访问这样的用户名:

    <?php
        echo $username;
    ?>
    
  2. 将带有变量定义的文件包含到另一个需要它的 php 文件中。

    文件3.php

    <?php
        include('File1.php');
        echo $username;
    ?>
    
  3. 并使用 Session 访问我想要的任意数量文件中的变量,例如File5.php,File6.php等...

    文件5.php

    <?php
        session_start();
        echo $_SESSION['username'];
    ?>
    

    文件6.php

    <?php
        session_start();
        echo $_SESSION['username'];
    ?>
    

在所有这些方法中,使用会话的方法确实是您可以用来在多个文件之间共享变量的唯一方法。

在多个文件之间共享一个文件中声明的变量的其他方法是什么?

4

6 回答 6

3
  1. 包括
  2. 会议
  3. 曲奇饼
  4. 数据库
  5. 文件
  6. 常数
  7. 什么不是(自定义)
于 2012-12-24T04:31:48.103 回答
1

HTTP是无状态的,这意味着每个请求都完全独立于其他所有请求。换句话说,实际上没有办法将变量从一个页面加载传递到另一个页面。

但是,cookie是一种解决方法。然而,重要的是要注意状态是保存在浏览器端(发送什么 cookie)和服务器端(哪些会话数据可能与这些 cookie 相关联),但它们之间的连接不知道这个状态转移。

基本上:不,除了您所概述的之外,没有其他方法。

于 2012-12-24T04:31:13.240 回答
1

您可以使用 PHP5 的自动加载来执行此操作。创建一个名为“Constants”或其他东西的类并覆盖该__get()方法(参见this)以从文件或其他东西中读取值。

使用这种方法,您将能够在任何文件中编写这样的代码,而无需包含任何内容。

$constants = new Constants();
$myVar = $constants->var_name;
于 2012-12-24T04:32:59.897 回答
0

使用PHP 的 define,就像在这个例子中一样:

define("CONSTANT", "Hello world.");
于 2012-12-24T04:31:36.713 回答
0

你可以使用 PHP 类,这样你就有更多的选项来使用其他类的变量!

于 2012-12-24T04:32:33.680 回答
-1

您还可以将其声明为全局:

global $variable;
于 2012-12-24T04:39:37.280 回答