如何在php中创建全局变量

时间:2019-03-27 08:18:21

标签: php global-variables

我正在尝试创建一个宠物网站,并且想要为其创建虚拟货币系统。但是我找不到用于它的全局php代码,成为全局变量。如何在php上创建全局代码?

2 个答案:

答案 0 :(得分:1)

要在整个代码中使用变量,您有几种解决方案。我将在这里显示几个,由您选择最适合您需求的解决方案。

环境变量。

Apache

环境变量是可以在操作系统上找到的一种全局变量。例如,变量$PATH是环境变量。
也就是说,您可以设置环境变量并在代码中使用它们。在此SO answer中,您将看到如何在Apache中设置环境变量以在PHP中使用它。

从答案:

<VirtualHost hostname:80>
   ...
   SetEnv VARIABLE_NAME variable_value
   ...
</VirtualHost

然后,此SO answer显示如何获取值。
通常您使用:

<?php

getenv('APP_ENV'); //Get the environment variable "APP_ENV"

请参阅SetEnv文档。

.env文件

根据主机,服务器和其他因素,可能很难使用Apache设置环境变量。
与Ruby一样,PHP现在可以使用文件来设置环境变量。使用phpdotenv之类的库,您可以定义一个项目中带有变量的文件.env,然后将其与getenv()一起使用。

.env

APP_ENV=dev
APP_SECRET=P3JGbB2neXL2vc4juepX3ZkFrNfszfEo

file.php

(new Dotenv())->load(__DIR__.'/.env'); //Load the .env
getenv('APP_ENV');

变量定义文件

您可以使用文件来定义全局变量。

config.php

<?php
$appEnv = 'dev';

file.php

require('config.php');
echo $appEnv;

答案 1 :(得分:0)

您的问题对我来说有点模棱两可。如果您的意思是从一个文件中设置一个变量,然后使其在所有php文件中可用,则可以将其放在一个文件中,然后将其包含在所有脚本中。把它放在顶部。或者,您可以将其放在$ _SESSION变量中。这是我所知道的最简单的解决方案。 :)

示例:假设所有文件都在根目录中

vars.php:

$globalVar = 2;
//or 
$_SESSION['global_var']; // if a session exists

otherphpfile.php

include 'var_consts.php';
echo $globalVar; //outputs 2

我不确定这是否是您要实现的目标:D