我正在尝试创建一个宠物网站,我想为它创建一个虚拟货币系统。但我找不到一个整体的PHP代码,它成为一个全局变量。如何在php上创建全局代码?
你的问题对我来说有点模棱两可。如果您的意思是从一个文件设置一个变量,然后从所有的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
要从整个代码中获取变量,您可以使用多种解决方案。我将在这里展示几个,您可以选择最符合您需求的解决方案。
环境变量是一种可在操作系统上找到的全局变量。例如,变量$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文档。
根据您的主机,服务器和一些事情,您可能很难使用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;