鍍金池/ 問(wèn)答/PHP/ PHP中怎么才能自定義所有文件都能夠訪問(wèn)的變量?

PHP中怎么才能自定義所有文件都能夠訪問(wèn)的變量?

我有一個(gè)需求就是:

我的php的web項(xiàng)目中,我想有一寫變量是在所有的php文件都能訪問(wèn)到。比如:

保存token的變量,我定義在一個(gè)tokens.php中,但是我在其他的地方不想require這個(gè)tokens.php文件,我怎么才能訪問(wèn)它呢?并且可以對(duì)它進(jìn)行修改,這樣的情況可以嗎?

回答
編輯回答
厭遇

入口文件模式,所有的程序都會(huì)進(jìn)入入口文件,那么你define就可以了。各種框架都是這么定義的。

2018年4月21日 08:50
編輯回答
孤星

寫一個(gè)函數(shù)統(tǒng)一去管理獲取,需要獲取的時(shí)候就需調(diào)用這個(gè)函數(shù)。

function getToken()
{
    $token = require('tokens.php');
    return $token;
}
2017年9月2日 07:32
編輯回答
孤酒

存在session或者redis中

2017年6月25日 22:06
編輯回答
朽鹿

導(dǎo)入 全局配置文件

這樣配置中的變量就是 PHP的生命周期里面了

2018年7月30日 13:16
編輯回答
失心人

就目前的趨勢(shì)引入文件都會(huì)是psr4自動(dòng)引入.
你可以找找注冊(cè)器模式的資料.
ps:想在所有地方都能直接用變量沒(méi)法, 只能通過(guò)函數(shù)去獲取. 全局變量還是少用得好

2017年6月28日 02:43
編輯回答
老梗

自己定義一個(gè)autoload類,然后在使用__call()方法來(lái)自動(dòng)獲取,或者你可以直接用session來(lái)搞,也是可以的,如果是原生,就得自己寫autoload類,如果是框架的話,就有很多全局的,或者你可以寫到公共方法里面如,比如tp5的 common.php 文件

2018年3月15日 05:31
編輯回答
巫婆

項(xiàng)目沒(méi)用 composer管理 ?那可以用 autoload 機(jī)制嘛,每個(gè)文件頭部都要 require 肯定很煩。

2017年10月16日 18:53