如何在php中创建全局变量

问题描述 投票:-3回答:2

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

php global-variables
2个回答
1
投票

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

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

vars.php:

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

otherfile.php:

include 'vars.php';
echo $globalVar; //outputs 2
//or
echo $_SESSION['global_var']; //outputs 2

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


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 file

根据您的主机,服务器和一些事情,您可能很难使用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;
© www.soinside.com 2019 - 2024. All rights reserved.