我正在尝试创建一个宠物网站,我想为它创建一个虚拟货币系统。 但是我找不到它成为全局变量的整体 php 代码。如何在 php 上制作全局代码?
你的问题对我来说有点模棱两可。如果您的意思是从一个文件设置变量,然后使其从所有 php 文件中可用,您可以将其放在一个文件中,然后将其包含在所有脚本中。把它放在上面。或者你可以把它放在一个 $_SESSION 变量中。这是我所知道的最简单的解决方案。:)
示例:假设所有文件都在根目录中
变量.php:
$globalVar = 2;
//or
$_SESSION['global_var'] = 2; // if a session exists
其他文件.php:
include 'vars.php';
echo $globalVar; //outputs 2
//or
echo $_SESSION['global_var']; //outputs 2
我不确定这是否是您要实现的目标:D
要使变量从整个代码中可用,您有几种解决方案。我将在这里展示几个,由您选择最适合您需求的解决方案。
环境变量。
阿帕奇
环境变量是一种可以在操作系统上找到的全局变量。例如,变量$PATH
是一个环境变量。
也就是说,您可以设置环境变量并在代码中使用它们。在这个SO答案中,您可以看到如何在Apache中设置环境变量以在PHP中使用它。
从答案:
<VirtualHost hostname:80>
...
SetEnv VARIABLE_NAME variable_value
...
</VirtualHost
然后这个 SO 答案展示了如何获取值。
通常您使用:
<?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
文件.php
(new Dotenv())->load(__DIR__.'/.env'); //Load the .env
getenv('APP_ENV');
变量定义文件
您可以使用文件来定义全局变量。
配置.php
<?php
$appEnv = 'dev';
文件.php
require('config.php');
echo $appEnv;