PHP中怎么才能自定义所有文件都能够访问的变量?

我有一个需求就是:

我的php的web项目中,我想有一写变量是在所有的php文件都能访问到。比如:

保存token的变量,我定义在一个tokens.php中,但是我在其他的地方不想require这个tokens.php文件,我怎么才能访问它呢?并且可以对它进行修改,这样的情况可以吗?

阅读 3.8k
7 个回答

写一个函数统一去管理获取,需要获取的时候就需调用这个函数。

function getToken()
{
    $token = require('tokens.php');
    return $token;
}

就目前的趋势引入文件都会是psr4自动引入.
你可以找找注册器模式的资料.
ps:想在所有地方都能直接用变量没法, 只能通过函数去获取. 全局变量还是少用得好

项目没用 composer管理 ?那可以用 autoload 机制嘛,每个文件头部都要 require 肯定很烦。

导入 全局配置文件

这样配置中的变量就是 PHP的生命周期里面了

自己定义一个autoload类,然后在使用__call()方法来自动获取,或者你可以直接用session来搞,也是可以的,如果是原生,就得自己写autoload类,如果是框架的话,就有很多全局的,或者你可以写到公共方法里面如,比如tp5的 common.php 文件

入口文件模式,所有的程序都会进入入口文件,那么你define就可以了。各种框架都是这么定义的。

存在session或者redis中

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题