Как сделать глобальные переменные в php - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь создать сайт для домашних животных и хочу создать систему виртуальной валюты для него. Но я не могу найти общий php-код для него, чтобы он стал глобальной переменной. Как мне сделать глобальные коды на php?

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Чтобы сделать переменную доступной из всего вашего кода, у вас есть несколько решений. Я покажу несколько здесь, это зависит от вас, чтобы выбрать решение, которое наилучшим образом соответствует вашим потребностям.

Переменные среды.

Apache

Переменные окружения являются разновидностью глобальных переменных, которые вы можете найти в вашей ОС. Например, переменная $PATH является переменной окружения.
Тем не менее, вы можете установить переменные среды и использовать их в своем коде. В этом SO ответе вы можете увидеть, как установить переменную окружения в Apache, чтобы использовать ее в вашем PHP.

Из ответа:

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

Тогда этот ТАК ответ покажет, как получить значение.
Обычно вы используете:

<?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;
1 голос
/ 27 марта 2019

Ваш вопрос довольно двусмысленен для меня. Если вы хотите установить переменную из одного файла, а затем сделать ее доступной из всех ваших 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

...