管理在多个php页面之间共享的变量的最佳方法是什么?

时间:2013-06-18 05:17:50

标签: php mysql variables

我有一些页面共享一个公共变量。首先,我只是将$max = 196;复制到每个页面中进行更新。这显然是一种糟糕的方式,因为它需要做更多的工作而且很容易犯错误。我想更改它,以便我可以在一个地方更改此变量的值,并且在任何地方都使用此值。

现在,我在每个页面上放置include 'rises.php';而不是实际变量,并且rise.php的内容为<?php $max=196; ?>

我也试过......

  • 196保存到.txt文件,每个页面使用`fopen()打开它。
  • 创建一个只包含此变量名称及其值的小型MySQL表。

所以我的问题是......

管理多个页面需要使用的变量的最佳方法是什么?在我的情况下,它只有5-6页,但每页加载很多次。

3 个答案:

答案 0 :(得分:1)

最好的方法是创建具有数组的特殊Singleton类(建议$ params)然后包含这个单例并在每个页面上使用params。 您必须实现类似http://code.google.com/p/data-registry/

的内容

答案 1 :(得分:0)

您可以使用会话变量...

session_start();
$_SESSION['max'] = 96;
//to print your variable
echo $_SESSION['max'];

答案 2 :(得分:0)

PHP提供sessions,这是一种在页面之间保存数据的方法。

以下是您使用它们的方式:

  1. 每页顶部添加<?php session_start(); ?>。它应该是你的php文件的绝对第一行,甚至在空白行之前。

  2. 在页面中您要设置变量,执行此操作$_SESSION['name'] = "value";

  3. 在您要检索变量的页面中,相反:$foo = $_SESSION['name'];

  4. PHP将负责传递价值。您不必包含任何特殊文件或担心数据库。

    然而,会话不是永久性的。它不是放置设置和“常量”的地方。为此,您当前的解决方案很好。但是对于短暂的数据,建议使用会话。


      

    “在页面中你想设置一个变量”......这就是......   可以先加载任何这些页面。这些页面都是   相互独立。它在哪里加载原始变量?

    使用auto_prepend_file解决该问题。