Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i define a variable available to all php files(like superglobals)

Is there a way to create/define a variable available to all php files(like superglobals)

Example:

i define a variable in file1.php $car = ferrari

then in file2.php i write echo $car;

then it will output ferrari

how can i define a variable in file1.php and access it in file2.php

EDIT:

The answers is good, but do is there another alternative?because i will have multiple php files in multiple directories, do i have to create its own php file for each directory?if thats the only way, then i'll do it.

like image 206
Mr. D Avatar asked Oct 19 '25 14:10

Mr. D


2 Answers

  • create init.php in your project's root directory.

If you need constant variable (so, you can't edit it) - create constants.php in your project's root dir.

If you need editable variable - create globals.php in your project's root dir.

constants.php

<?php
define('CAR', 'ferrari');

globals.php

<?php

class Globals
{
  public static $car = 'ferrari';
}

include constants.php and globals.php to init.php.

<?php
require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'constants.php');
require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'globals.php');

include init.php to php sources.

<?php
require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'init.php');

If you need variable for long use, not only one pageload, then use session. (user logins, settings, ...)

<?php
$_SESSION['car'] = 'ferrari';

In your php sources, you can use constant and global variables:

Example:

<?php
echo CAR; //ferrari

echo Globals::$car; //ferrari

Globals::$car = 'renault'; //set your global variable

echo Globals::$car; //renault

Refs:

http://php.net/manual/en/language.oop5.static.php

http://php.net/manual/en/function.define.php

http://php.net/manual/en/function.dirname.php

http://php.net/manual/en/reserved.variables.session.php

like image 168
Denton Avatar answered Oct 22 '25 04:10

Denton


Create one constant file and include it in file in where you want to access those constants.

Include file as

include 'file_path';
like image 28
Divyesh Savaliya Avatar answered Oct 22 '25 04:10

Divyesh Savaliya



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!